[Bluej-discuss] first languages
Lon Levy
lxl at oregon.k12.wi.us
Mon Oct 15 13:45:13 BST 2007
Hi Davin,
"I think the original statement was correct; functions are invoked using
a syntax rule. The semantics of that rule imply a function call."
Correct. You are also correct about the nature of Scheme syntax. My students find it a brief challenge to wrap their brains around prefix notation. Some continue to stumble a little with it, but I'm teaching high school freshmen. I further agree with your assessment of C++ ... what a terrible beginners' language.
"A question to other list members, do students get confused when
transitioning from Scheme to Java about the change from prefix to infix
notation?"
That part of the transition is fairly easy. Most of my students find the infix notation of Java trivial. They have more confusion with dot notation (we spend a lot of time on that) and remembering when something is a class and when it is an object (which BlueJ helps considerably).
Regards,
Lon.
Lon Levy, MS-CSEd
Computer Science Teacher
Volunteer Computer Club Advisor
Oregon High School
608-835-1316
LXL at oregon.k12.wi.us
cs at levytree.net
non somnos requiem
>>> Davin McCall <davmac at bluej.org> 10/14/07 8:49 PM >>>
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.
More information about the bluej-discuss
mailing list