everything wrong with free software
"obedience breeds foolishness"
*originally posted:* feb 2022
he was at least, partly right.
like many people, i used to quote steve jobs (a few times at least) when he said that learning to code teaches you how to think.
it doesnt-- the idea that logic teaches people how to think is so old that hegel (who died more than a century before steve jobs was born) had already responded, saying that logic no more teaches you how to think than physiology teaches you how to digest food. jobs only substituted coding for logic, and was just as wrong.
for my favourite example of how wrong he was, note that the far more brilliant apple co-founder steve wozniak (i say this not as an apple fan, i grew up hating apple-- but wozniak is still brilliant at times) has been quoted saying that before age 11, children do not have the logical prerequisites for learning to code.
vindicating hegel and showing wozniaks statement for the absurdity that it is, an old programme from tvontario in the early 80s shows a child of 7 using logic to make changes to the logo commands she types into-- of all things-- an apple ii computer. whats amazing is that she (and many of her classmates) were able to do this without first developing the logical prerequisites only attainable four years later in their development.
thinking and reasoning are natural abilities, and studying logic may help you to develop them further. as the world has seen demonstrated by a plethora of mediocre phd holders, studying anything (even to the point of certification) doesnt guarantee brilliance or even competence in that field. the problem of incompetence is not magically eradicated at such a level; it is very possible and even common to gain too little from from formal training.
of course i still think learning to code is a good idea, it will bring you closer to computer literacy. practicing breaking down tasks into smaller parts so that they can be written as code is a useful skill, but ive long been irritated that the industry self-servingly favours a bastardised clarke over hegel and tries to convince people that programming is closer to an occult or mystical ritual. doing it and seeing the results, admittedly, can feel a bit like magic. but this particular "magic" can be as accessible as turning a doorknob, unless we make it out to be something else.
predecessors and contemporaries of hegel mistook formality for substance, just as people quoting jobs mistake reason for a lesson, rather than something innate to all humans.
the distinction is important, because the lack of one has led to a common myth that some people are "natural coders" and others can only look forward to struggle.
i have long maintained this depends on the design of the language, more than it depends on the predisposition of the student. there is nothing more special about learning to code than there is about learning to speak or to read. since the advocacy (and innovation) of hopper in the mid-20th century, well before the existence of personal computing, it has been possible to think of and write code as something closer to spoken language than it is to maths-- even if it maps perfectly to underlying mathematical processes. in short: you have a choice.
everyone capable of speaking is capable of code. it is more terse, and more formal, but so were the logical innovations of aristotle. what is "new" about code is what it can accomplish, but not what it fundamentally IS.
fundamentally it is language (math arguably is as well, while its terse character sets have led people to think it more universal, simply for lacking as many "words") and while the younger you are, the more (hopefully) this is something in a stage of development-- it is not something to be "passed down", but something intrinsic to be encouraged, expanded on and examined.
as to who is a "natural coder"-- that would be (as ive said before) anyone capable of constructing a coherent sentence. you would generally expect this skill to increase with practice, and (implied by the same) to start somewhere more modest. others who treat it as something occult, would prefer to save it for those with "the gift". that position better serves ignorance, and of course, monopolists. we cannot simply blame everything on teachers, but their wilful spread of such ignorance is far more at fault here than the ability of their students. they are not teaching a fact in the first place, but their own self-limiting belief.