"More intuitive" programming language syntax
Chromatic wrote an article today about The
Broken Metric of "Intuitive to the Uneducated" Language
Syntax in which he addresses the very common argument that
some language syntax is better than some other because it is "more
intuitive" or "easier for beginners to understand".
Chromatic says that these arguments are bunk because programming
language syntax is much less important than programming language
semantics. But I think that is straining at a gnat and swallowing a
To argue that a certain programming language feature is bad because it
is confusing to beginners, you have to do two things. You have to
successfully argue that being confusing to beginners is an important
metric. Chromatic's article tries to refute this, saying that it is
not an important metric.
But before you even get to that stage, you first have to show that
the programming language feature actually is confusing to
But these arguments are never presented with any evidence at all,
because no such evidence exists. They are complete
fabrications, pulled out of the asses of their propounders, and made
of equal parts wishful thinking and bullshit.
To support my assertion that nobody knows what makes programming hard
for beginners, I wanted to cite this paper, The
camel has two humps, by Dehnadi and Bornat, which I was
rereading recently, but I couldn't find my copy and couldn't remember
the title or authors. Happily, I eventually remembered.|
The abstract begins:
Learning to program is notoriously difficult. A substantial minority
of students fails in every introductory programming course in every UK
university. Despite heroic academic effort, the proportion has
increased rather than decreased over the years. Despite a great deal
of research into teaching methods and student responses, we have no
idea of the cause.
But the situation isn't completely hopeless; the abstract also
We have found a test for programming aptitude, of which we give details. We can predict success
or failure even before students have had any contact with any programming language with very
high accuracy, and by testing with the same instrument after a few weeks of exposure, with
extreme accuracy. We present experimental evidence to support our claim.
certain to succeed.
What's the secret?
[ Addendum 20070722: I screwed up the links to the paper when I first
posted them; they are fixed now. The
paper is here. Thanks to Anton Berezin for pointing this
[Other articles in category /prog]