"Programmers find a programming language or paradigm 'intuitive' to
the degree that it resembles what they learned first". As is generally
the case with assertions, it isn't a matter of right/wrong, but a
matter of trade-offs.

I can't find a digital copy at the moment, but the following paper
describes some of the issues embedded in that statement:

Carroll, J. M., & Rosson, M. B. 1987. The paradox of the active user.
In J.M. Carroll (Ed.), Interfacing Thought: Cognitive Aspects of
Human-Computer Interaction. Cambridge, Mass: MIT Press (pp. 80-111).

In particular, the assimilation paradox applies. On the one hand, we
leverage prior knowledge to understand the new system (e.g. ML ->
Java). But, there are significant breakdowns that can occur because of
this assimilation. Thus, the similar languages could provide more
challenging breakdowns than the completely different languages. The
transition from C++ to Java may seem trivial at first, but over time
cause more "intuition" problems than a transition from C++ to Prolog.
Further, other computer usage and more broadly, life experiences, come
to play as well. The new language may not be anything like your first
language, yet be closely related to a math course you took, or even
Excel.

One could perhaps argue the following:

"The more knowledge a programmer can assimilate from their prior
experiences (especially their first programming language) without
causing severe breakdowns, the easier it is for them to learn a new
language to the same level as their first language."

John Daughtry




On Mon, Nov 23, 2009 at 10:30 AM, Alan Blackwell
<[email protected]> wrote:
>
> (forwarding my earlier direct reply to Richard)
>
> [This is] A regularly recurring question, over the years of PPIG!
>
> This has been the starting point for a number of PhDs, but a religious
> war seldom makes a good PhD. I'm not aware that the results have ever
> found anything very conclusive. Some of the students involved may
> still be on the list, and can tell you what they ultimately found.
>
> It seems unlikely that the people shouting on your list would respond
> to any common sense, but here are the questions I tend to ask new PhD
> students:
>
> 1) What is the measure of 'intuitive' that you propose to use?
>
> 2) Do you believe that all people are the same? If not, who are you
> trying to help?
>
> 3) What do you want people to be able to do with a programming language?
>
> Depending on their answers, I might do something like refer them to
> John Pane's work with Brad Myers on 'Natural Programming' (which was
> focused on understanding childhood models), or just tell them the old
> joke that I saw posted during a religious war on a Python list that
> 'ML is the language they use to mop up the excess brain capacity of
> first year Cambridge students' (or same joke, for MIT students using
> Scheme).
>
> I'm not answering you from the email account that has the list
> subscription - feel free to forward if you like.
>
> Alan
>
> On 23 Nov 2009, at 04: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.
> >
> >
>
> - --
> Alan Blackwell
> Reader in Interdisciplinary Design, University of Cambridge
> Further details from www.cl.cam.ac.uk/~afb21/
>
>
>
>
>
>
> ------- End of Forwarded Message
>
>
> --
> Alan Blackwell
> Reader in Interdisciplinary Design, University of Cambridge
> Further details from www.cl.cam.ac.uk/~afb21/
>

Reply via email to