Mailing List Archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [tlug] What is Code?

On Tue, 16 Jun 2015 20:16:31 +0900
Nicolas Limare <> wrote:

> Why is it so difficult to explain programming to non-programmers?
> I read and enjoyed "D is for Digital" by B. Kernighan and parts of
> "Code" by C. Petzold, but I'm not sure I would recommend them to peple
> we want to learn what software and computers are.

I think, part of the problem is that the lore in programming still
does not really recognize that programming is a craft, rather than
science (eventhough most programmers themselves do). As a craft,
it needs certain skills that you have to aquire by building the
same or at least similar bits again and again, until the piece
is perfect.

Most of these "crafty" skills are hard to describe (eg "thinking
like programmer", what does that even mean?). Some we are not
even consciously aware off, but imediately recognize if someone
is not good at it (eg beautiful code vs ugly code).
Now think how difficult it is to explain to someone, who has never done
anything with programming, what it is to be a programmer, when
we cannot even explain to ourselves how we do it. It does not help
much either that the whole process of programming is happening in our heads
and ending up in a big black box that seemingly does not change at all,
with no tangible components at all. There is no piece of wood that you
can watch transform from a branch into a leg of a stool. You cannot
touch and check the smoothnes of the surface of a program.

Actually, I think the "not being able to watch" is probably the most
important part here. People get a feeling for how it is to do X by
watching other people do it. With all phyiscal crafts you can do that.
They are widespread enough that you are exposed to some watching early
in your life. With programming that doesn't happen. Eventhough many
people do write code (probably more than there are in any other craft),
there is nothing to watch.
Randal Schwartz once put this very nicely in 

			Attila Kinali

I must not become metastable. 
Metastability is the mind-killer.
Metastability is the little-death that brings total obliteration.
I will face my metastability. 
I will permit it to pass over me and through me. 
And when it has gone past I will turn the inner eye to see its path. 
Where the metastability has gone there will be nothing. Only I will remain.

Home | Main Index | Thread Index

Home Page Mailing List Linux and Japan TLUG Members Links