On Nov 25, 2009, at 11:56 AM, Lindsay Marshall wrote:


On 24 Nov 2009, at 22:31, Richard O'Keefe wrote:

Please, let's not argue about words.  Let's argue about semantics.
The fact of the matter is that people do have strong feelings about
what is intuitive and what is not, and that these feelings are not
idiosyncratic but widespread.  That doesn't mean they are universal.
It doesn't mean that they are not culture-bound.  But if we can
have studies of why people choose one political party of another,
we can have studies of why people report that one programming
approach is more "intuitive" than another

The fact that people have strong feelings about something doesn't make it meaningful.

I'm having some difficulty with this.
We may or may not be talking at cross purposes.
The fact that people have strong feelings about something doesn't
make them RIGHT.  It doesn't even mean that the thing they have
the feelings about EXISTS.  And it doesn't mean that the reasons
people provide as a basis for their feelings are right.
But the *feelings* exist.

In precisely the same way, we do not have a Loch Ness Monster or
a UFO to examine, but we do have *reports* of sightings, and it
is certainly not meaningless to study the reports or the people
who report them or the circumstances in which they make such reports.

There is a saying that "a thing is real if it is real in its effects".
Feelings about the intuitiveness of programming languages or user
interfaces or whatever plainly have real effects on what gets taught,
what gets offered, what computer people buy, and so on.

Case in point:  I was a lecturer at an Australian University and we
were considering switching from Pascal as our initial teaching
language.  One of the choices we were considering was Scheme.  We
actually had a phone call from the careers master at a school to
say "if you do that we'll tell our pupils not to go anywhere near
you".  Was that grounded in any kind of empirical evidence?  Nope:
another university in the same city was using Scheme with accounting
students with good success.  But it ensured that we didn't switch to
Scheme.

I cannot understand why anyone would think that something like that
is unworthy of investigation.

Sure we can have studies about political parties because in general quite a few people have fairly concrete reasons for picking one over another

On the contrary, according to a colleague who has looked into the matter,
a US study found that it was mainly a matter of which metaphors people
found most "intuitive".  The reasons people sometimes give, about the
economy, say, would often be reasonable if only they were in accord with
the actual spending histories of parties.  (I remember being astonished
to read about what Richard M. Nixon _did_ as a president, other than
Watergate.) Indeed, a study I saw years ago reported that in presidential
elections it was usually the taller candidate who won.

If people report than programming language is more "intuitive" than another then ask those people why and see what they say :

That isn't the only or even the best way to proceed.

This is very much the Socratic "intellectual abortionist" approach:
if someone can't give you a *definition* of something like
(to take an actual Socratic example) "profiteering" they need to be
shown that they are an idiot who shouldn't be allowed to vote.

Someone could report that they find X more intuitive than Y,
there could be causes for this based on objectively measurable
properties of X and Y, and there could be billions of people
who would have the same response, without that person being
able to *articulate* the reasons.  If you want to find out what
the reasons/causes are, asking is a good step, but by no means
the only one.

In short, I am arguing for the possibility of a real psychology of
programming, that does not rely exclusively on introspection.  I'd
have thought that was uncontentious here.

I think something far more interesting but sort of related is why people get emotional attachments (or otherwise) to languages. I have a passionate dislike of Java and do not get on at all with Python or Perl, but I have always like tcl a lot. I can give you reasons but they are probably not well argued or indeed sensible and I know this, but that doesn't change my feelings about them and it is unlikely that anything will particularly wrt to Java. (c.f. Norman's Emotional Design)

It's not clear that emotional attachment to a language and finding it
intuitive are separate phenomena.

If we were able to find out _why_ you had this response, it might be
possible to do something about it.

For example, I very much like the Erlang programming model, but find
the syntax clunky.  It's possible to write a precompiler to support
a different syntax, and indeed Lisp-Flavored Erlang exists.


Reply via email to