Re: Re: Language vs. Library why it matters / Turing
- To: mathgroup at smc.vnet.net
- Subject: [mg61577] Re: [mg61502] Re: Language vs. Library why it matters / Turing
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Sat, 22 Oct 2005 05:11:22 -0400 (EDT)
- References: <dipr57$hfl$1@smc.vnet.net> <200510180645.CAA11285@smc.vnet.net> <dj4p5f$gpf$1@smc.vnet.net> <200510200456.AAA16940@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
On 20 Oct 2005, at 13:56, Richard Fateman wrote: > Andrzej Kozlowski wrote: > > >> 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. >> > > I doubt that this is done by most other programming languages. Most > leave > an area of "result is not specified by the standard". I also > doubt that it could be applied to Mathematica in any interesting > sense because the specification would be huge, and full of bugs. > > If the system were deterministic and there were only one > implementation > you could solve the problem by saying, if you want to know what that > command means, it means "whatever it computes". That > also eliminates all bugs, because they then become features. > > >> This would deal with all the cases of "non-deterministic" behaviour >> in Mathematica known to me (not counting obvious and acknowledged >> bugs). >> > > No. How about Maxim's "weird" bug where the name of the variable > changes > the computation? Or problems which become strangely different when a > secret boundary is crossed and an algorithm changes. > In fact, most bugs are quite deterministic. > Most of these are bugs. The issues arising from a change that takes place due to a change in algorithm should be solved by better documentation. There are also issues of different behaviour on different platforms due to the use of TimeConstrained. These are harder to deal with (probably one would need to somehow estimate the speed of the CPU starting of Mathematica.) By in any case, all of this concerns the "mathematical" aspects of Mathematica and I thought you supported the notion of "core language" (your brilliant idea of Atica that is supposed to make you rich at SW's expense), and that the math functions do not belong to that. So which one you are objecting to teaching in a first programing course, Mathematica the CAS or Atica the programming language? > 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). >> > > Unpredictable by you because you don't know enough about the language > is different from > Unpredictable by anyone because the language implementation varies > according to (say) where in memory the pages are loaded. > Fail to see much difference as far as the use is concerned. > I know of no first-programming-language courses in American > universities > that use Mathematica. I think it would be fine to teach Mathematica > in an engineering problem-solving symbolic/numeric course to students > who already know how to program. Nancy Blachman taught such a course > at Stanford. I believe it was not open to Computer Science majors. > (I even lectured once in it!) > But most computer scientists would, I think, object to teaching > mathematica as a program language as such. This is merely an unsupported assertion. I can also make such assertions but what is the point? Obviously Mathematica is primarily what is somewhat misleadingly called a CAS. Most computer scientists do not know its programming language and it is my impression most programmers tend to object to teaching languages they are not comfortable with. But obviously I meant a first programming course for mathematicians and scientists. Andrzej Kozlowski Tokyo, Japan
- References:
- Re: Language vs. Library why it matters / Turing
- From: Richard Fateman <fateman@cs.berkeley.edu>
- Re: Language vs. Library why it matters / Turing
- From: Richard Fateman <fateman@cs.berkeley.edu>
- Re: Language vs. Library why it matters / Turing