Richard,

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
?


First of all your question suggests that there is a one side fits
all for programming languages.

I think that within reason people can learn almost any programming
language.

Experienced users find languages 'natural' or 'intuitive' because
they have had plenty of practice using them.

I think that ability to use a language is about practice.  The more
practice people get the better they are at it.

The following experiment showed that developers knowledge of
binary operator precedence correlates with occurrences in
source code:

www.knosof.co.uk/cbook/accu06.html

The following experiment showed that developers used variable
names to make precedence decisions:
www.knosof.co.uk/cbook/accu07.html

The following paper suggests that experienced developers
have learned something that causes them to group aggregate members
differently that novices:
edu.technion.ac.il/Faculty/OritH/HomePage/HAOSE_OOPSLA_Workshop/Papers/Binkley.pdf

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.




--
Derek M. Jones                         tel: +44 (0) 1252 520 667
Knowledge Software Ltd                 mailto:de...@knosof.co.uk
Source code analysis                   http://www.knosof.co.uk

Reply via email to