> > I agree Mathematica is different in a great many ways. And I can > see how someone experienced in say C or another language would > see Mathematica as strange and unusual. But I really don't see > the problem of understanding Mathematica symbols, precedence > etc. as being any different than learning pointers are other > aspects of C. It is simply a matter of study and using > Mathematica just as it is a case of study and using C to learn > pointers etc. >
C is not my favorite programming language .. see www.cs.berkeley.edu/~fateman/papers/software.pdf
Nevertheless one can almost argue that if you know about how computers work on the assembly language level you have a modest chance of mapping C constructs to assembler-like code "in your head". I've taught this as part of an undergraduate course in "Machine Structures".
For EF, the number of unfamiliar operators and the number of distinct precedences is substantial.
There is a table in the virtual book documentation "operation precedence" in the section Operator Input Forms.
There are roughly 69 different precedence categories listed.
In some precedence classes there are many forms. For example in the category 4th from the bottom there are these operators which, being in the same class, would be parsed from left to right (or is it right to left?) anyway, here they are.
=, :=, ^=, ^:=, =. ->, and also the matchfix /: = /: :=
While some of the operators have no built-in meaning, and some are pretty obscure, they are all part of the syntax. There are also quite a few multi-character operators, some of which are new to me.. @@@ ?
This is an attempt to document one of reasons I think EF is NOT just as easy to learn as any other language. I've previous mentioned other reasons which can be grouped generally under the category "semantics".