Title: Keith Brian Gallagher, PhD
i'll bite

i'm not sure intuition exists. i went to dictionary.com and got this about intuition: "the ability of the native speaker to make linguistic judgments, as of the grammaticality, ambiguity, equivalence, or nonequivalence of sentences, deriving from the speaker's native-language competence." it seems that the evidence below confirms this understanding of intuition, so perhaps programming paradigms ought to be taught to the intuitiveness of the learner...

more random contributions:
1. when a light switch is tilting up, is it on or off? asks the american in england...
2. i remember -having to read a manual- to learn how to use a mouse in 1981. drag-and-drop / double-click etc etc were not "intuitive" then. now they are...
3. people learn the way they learn.
4. anybody out there still struggling w/ predictive text input?

like i said, i'm not sure intuition exists....


William Billingsley wrote:
If the plural of "anecdote" is "empirical evidence", then I'd suggest it's not as simple as that.  In Cambridge, the first language taught was ML (a functional language).  Over around five years, I tutored around sixty students in Java, which was the second language taught and also a compulsory part of the syllabus.  One of the first tutorial questions I used (borrowed from the back of the lecture notes) asked the students to compare ML to Java.  What I found in my anecdotal experience was a split between the very mathematically-focused students (who found ML easier) and the remainder who seemed to find Java easier to understand.  No, we didn't go into the depths of the Java memory model or out-of-order execution optimisations as this was a first year course.

In short, even though ML was taught first, the bulk of the students I came across still seemed to make those comments about imperative being easier.  Whether they changed their minds after the second year compilers course (where they'd learn about all those wrinkly optimisations), or even after concurrent programming (where functional techniques can make life easier) I couldn't tell you.

However this probably hasn't helped your search for citable evidence,


On 23 Nov 2009, at 14:23, Richard O'Keefe wrote:

Does anyone know whether there's any empirical evidence either way
for the hypothesis
    programmers find a programming language or paradigm
    "intuitive" to the degree that it resembles what they
    learned first

Another mailing list I'm on just had a bunch of people shouting
that imperative programming was obviously more intuitive than
functional or logic programming.  Since they didn't seem to be
familiar with the fairly wide gap between a typical first-year
model of how an imperative language and what _really_ happens
(e.g., apparently non-interfering loads and stores can be
reordered both by the compiler and the hardware, loads from main
memory can be 100 times slower than loads from L1 cache, &c),
I found myself wondering if what they _really_ meant is "I learned
a simple model early on and find anything else different."

There's evidence that people find languages like Scheme and Erlang
(and even Prolog) easier if they haven't done conventional
imperative or OO programming before, but that's not to say that
they wouldn't have found those approaches easier still.


Keith Brian Gallagher, PhD

Innovative Computing Group

School of Engineering and Computing Sciences

Durham University

South Road

Durham  DH1 3LE  U.K


Office +44 (0)191 334 1738

Fax +44 (0)191 334 1701


Reply via email to