Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2013

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Mathematica and Lisp

  • To: mathgroup at smc.vnet.net
  • Subject: [mg129994] Re: Mathematica and Lisp
  • From: Richard Fateman <fateman at cs.berkeley.edu>
  • Date: Sun, 3 Mar 2013 02:22:15 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-newout@smc.vnet.net
  • Delivered-to: mathgroup-newsend@smc.vnet.net
  • References: <kgse4s$jam$1@smc.vnet.net>

On 3/2/2013 12:44 AM, Bill Rowe wrote:
...

<snip>
I mostly agree with you!

>
> 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".

RJF





>




  • Prev by Date: Re: Conjugate
  • Next by Date: Re: Conjugate
  • Previous by thread: Re: Mathematica and Lisp
  • Next by thread: Re: Mathematica and Lisp