[Bluej-discuss] first languages

Davin McCall davmac at bluej.org
Mon Oct 15 02:49:44 BST 2007


I worry that this is whole thread is going to turn into a flame-war, but:

Aryeh M. Friedman wrote:
>> Syntax from hell?  All functions, whether built-in or user-defined, 
>> are invoked using the exact same syntax rule. 
>>     
> That is semantics not syntax.... I am sure one can call APL or the
> sendmail config file semantically clean but try to read it!
>
>   

I think the original statement was correct; functions are invoked using 
a syntax rule. The semantics of that rule imply a function call.

 From what I've seen of it - which admittedly isn't much - Scheme syntax 
is quite straightforward. There are two things that I don't like about 
it: too many brackets, and the prefix notation - but in both cases it's 
probably more a matter of what I'm used to. The prefix notation, while 
not being familiar for mathematical operations like +,-,* etc, is at 
least consistent with the idea that these operators are really functions 
just like any other function, and it also removes the problem of 
precedence which I suspect beginning students stumble on quite a bit 
(though more often with the logical operators than the arithmetic ones, 
perhaps).

So, I don't think Scheme has the "syntax from hell". C++ on the other 
hand... :-)

A question to other list members, do students get confused when 
transitioning from Scheme to Java about the change from prefix to infix 
notation?

> If a lang needs an ide just to be writable (parens in LISP) it is not a
> beginners lang ;-)
>   
I think you can avoid nesting too many brackets in various ways, so that 
it's visually clear without an IDE. You can also use indentation to make 
things clearer even with Scheme and Lisp.

(I should make it clear: I don't *like* Scheme. I would never choose to 
write in it myself. But, as a language to illustrate some basic 
programming concepts, I'm not convinced it's a bad choice. Also, I'm not 
a CS teacher. I have been a CS student.).

Davin.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.bluej.org/pipermail/bluej-discuss/attachments/20071015/92e93058/attachment.html 


More information about the bluej-discuss mailing list