On Tue, 2011-05-24 at 14:56 -0700, Walter Bright wrote: > On 5/23/2011 11:30 AM, Russel Winder wrote: > > Yes and no. To those that "get it", it is simple and straightforward. > > Experience shows that very few people actually "get it". Syntax is a > > factor but not the only one. The very nature of the concept stumps some > > people. > > I suspect that those people who never get it are people who fundamentally do > not > know how a von neuman architecture computer works. I came to C from writing > embedded systems in assembler language, and C was immediately obvious to me.
Or Harvard architecture for that matter :-) I completely agree with the direction of you point but would put it slightly more abstractly. In order to be able to use a programming language effectively and efficiently you must have an operational semantics for the language. This need not be the actual semantics of the processor executing the code, it just has to be consistent with it or else you are doomed to write broken code. It is important for a programming language to have a short cognitive translation distance between the syntax of the language and a high-level operational semantics consistent with the machine semantics. Sadly most programming languages are measured against compilation metrics rather than cognitive ones, and whilst there are many factors the same (regularity, general lack of exceptional cases, etc.) there are some significant divergences (people can cope with exceptional cases where compilers often cannot, cf. English!) I find it a bit irritating that there isn't more collaboration between programming language folk and cognitive science folk. Programming language folk often comment on cognitive issues, generally in the absence of any knowledge of psychology and cognitive science, and the psychology of programming folk generally end up doing their experiments with outdated languages and on groups of people designed to give useless results. Sadly programming language development by natural selection fails to work due to commercial vested interest, and lack of a adventurous spirit on the part of the majority of practicing programmers. I am beginning to rant, I will stop. -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:[email protected] 41 Buckmaster Road m: +44 7770 465 077 xmpp: [email protected] London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
signature.asc
Description: This is a digitally signed message part
