|
[Date Index]
[Thread Index]
[Author Index]
Re: Re: Language vs. Library why it matters / Turing
- To: mathgroup at smc.vnet.net
- Subject: [mg61433] Re: [mg61415] Re: Language vs. Library why it matters / Turing
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Wed, 19 Oct 2005 02:16:10 -0400 (EDT)
- References: <dipr57$hfl$1@smc.vnet.net> <200510180645.CAA11285@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
On 18 Oct 2005, at 15:45, Richard Fateman wrote:
> Mathematica is unusual in being
> complex, secret, and non-deterministic. These are each, in my view,
> significant detractions from the language and why I would not
> suggest that it be used for (say) a first course in programming.
The problem of the alleged non-deterministic nature of the
Mathematica programming language could easily be solved by means of a
device used by creators of most other programming languages. The
device consists simply of declaring anything that is not specified in
the documentation as "legal" as "illegal", whether it works or not.
This would deal with all the cases of "non-deterministic" behaviour
in Mathematica known to me (not counting obvious and acknowledged
bugs). Actually, I remember from the days when I tried programming in
other languages (including C) that they would also produce
unpredictable results if you violated the official syntax (one would
sometimes get correct and sometimes incorrect output). The difference
is that Mathematica being far more flexible and intuitive, constantly
tempts one to try something not described int the documentation but
which appears to follow by analogy form other things that are already
known to work. (As an example, you can take Maxim's recent discussion
of the way repeat does not work with Sequence in pattern matching.
There is nothing in the documentation that says it should work, but
it seems that it ought to by analogy with other things. In fact it
doesn't but many other thing, equally unstated, do.)
I also think that Mathematica is is a great language to be used for a
first course in programming. It has one enormous advantage over most
of the others: almost nobody finds it boring once certain initial
difficulties have been overcome. Interest and motivation being the
most important things in a first course on any topic this is an
invaluable quality of Mathematica that makes it superior to most
other programming languages. I speak on the basis of personal
experience. I have not only taught Mathematica for many years at
variety of levels but also I recall distinctly my first impressions
of programming when, many years ago, as a math undergraduate in
England, I took a (optional) programming course. The language that
was used was in those days considered very advanced and particularly
suitable for maths and science (not Fortran ;-)) . And the impression
I got was that programming was about the most uninteresting,
intellectually vapid subject that I came across during all my
undergraduate years. By contrast neither I nor anyone I know has ever
felt that way about programming in Mathematica. Experience shows that
you are unlikely get far with teaching anything, however deep or
powerful, unless you can somehow make it interesting to your students
almost from the start. With Mathematica this is easier, certainly in
the case of math students, than with any alternative known to me
which is why i very strongly recommend it for a first course in
programming.
Andrzej Kozlowski
Tokyo, Japan
Prev by Date:
Re: Bug with Limit, Series and ProductLog ?
Next by Date:
Re: Re: Solving Diophantine Equations
Previous by thread:
Re: Language vs. Library why it matters / Turing
Next by thread:
Re: Language vs. Library why it matters / Turing
|