Still it would be nice to know: What is the purpose of releasing a "Core" Mathematica language; who is going to use it and what are they going to use it for?
My worry is that this is another project dug up from the "to do" list that will divert WRI from what, to me at least, seem like much more urgent tasks. I thought "a system for doing mathematics by computer" was a nice slogan, and I thought Theodore Gray's design of the notebook Front End was the right thing. All this led to the impression, which I'm sure WRI meant to give, that Mathematica was a medium for writing active, literate technical documents. (Rather than being just a graphical calculator or a programming input sheet where results are copied out and used elsewhere.)
However, to say that one can write literate technical documents with Mathematica is one thing, actually doing it is another. There are design aspects of Mathematica that are so awful and difficult that they turn Mathematica into a something of a kludge. I would guess that only a very small percentage of users use Mathematica as both a writing and calculating system - a shame because most people will do better work if they write about what they are trying to do, so they could refer to the work sometime later when they may have forgotten some of the ideas and objectives, or communicate it to someone else to obtain help.
The user interface to Mathematica, in the sense of the types of commands available to the user, could be greatly improved. To say that in Mathematica "everything is an expression" is a bit like Andrzej's "Anything that is spoken by people in England is English by definition." (What about the guy who spoke English to his wife, French to his mistress, and German to his horse?) It would mean something if "Expressions" were composed of intuitive sematic units that could be combined in natural ways. Or if this carried through to lower semantic units. This is quite often not the case.
For example in graphics it would be nice if "everything was a graphics primitive" and one just drew one thing after another. So axes, frames, and various labels might be something you drew instead of using Options. But, instead, graphics consists of a large collection of special-purpose plot types that are confusing and illogical in methods to combine or modify them. Generally a large set of Options is used to modify them or add elements.
Or take the matter of specifying custom tables. Tables are specified by a Grid for the content and everything else is specified through Options. (Options have their uses but Mathematica is getting to be more and more programming by Options. And Option names are getting to be more and more Strings. And it's not always easy to get a list of them or what to do. So maybe the new language could be called Options?) And the Grid Options seemed to be tuned to producing striped or plaid tables. Most custom tables won't look like that. Never mind, WRI sort of provided a way and it's up to you to figure it out. I wonder how many users design nice custom tables as part of their documents? I provided a TableMaker facility in Presentations that let's one make a table more like one would draw a graphic. But there is a Grid bug such that one can't adjust the size of a row if the row contains any spanned elements. That was there in Mathematica 6 and they were aware of it, and the bug still there in Mathematica 9.
Or take the matter of writing extended Applications, which more people should do. Documentation depends on Workbench and Workbench has never been a finished program. There are lots of little inside tricks you have to know, and warnings you should ignore. You can't do things like write a Tutorial in your own style sheet and have linking done. There is no facility for developers to include a template menu. It's not exactly intuitive at all.
All the doo-dads are to me a nuisance. The one thing I liked was the Ctrl+K (which I could type faster than you can say Jack Rabbit) command completion. But now Ctrl+K is gone and what replaces it is ill-conceived and horrible.
So, please get back to the original concept, polish it and complete it, Stephen.
From: Andrzej Kozlowski [mailto:email@example.com]
This sort of thing has appeared on this forum so often that it is in danger of catching up with RJF's tedious nit picking but unlike in this latter case there is no obvious intention to annoy someone so it merits a brief response.
All the things written below may well be arguably true of Mathematica but not of the language used by Mathematica. That such a language exists is beyond dispute: it has syntax and it has semantics which makes it a language. Unlike most other computer languages (but like natural languages) it has never been formally defined and so there is some doubt about what belongs to it and what does not, but that does not stop it being a language. Just like with a natural language, having a name for it or deciding what belongs to it or not, is not very important unless the language begins to be used outside its native environment. Anything that is spoken by people in England is English by definition, the issue only arises when other's start using it. Is American English a different or the same language? The very asking of this question requires naming the language(s) involved.
Similarly the issue of the name of the Mathematica language arises only if it is going to be used by other programs than Mathematica. This is actually already happening. These programs, by the way, do not aspire to reproduce the "MagicPaper" aspects of Mathematica, hence this and the other proposals below are quite irrelevant. The issue is really only about syntax and (to a lesser degree) semantics and therefore about "a language".
On 14 Feb 2013, at 08:10, djmpark <firstname.lastname@example.org> wrote:
> Can we answer here? That's what I'm going to do because it seems the better > venue and I don't have to type into a small box. > > This raises a number of questions. What does "freely available" mean? Can we > expect a major change in the business model? And what does Stephen mean by " > the programming language of Mathematica ". Is it everything one types in a > notebook? Or just things that get sent to the kernel? How about things that > get sent to the front end? How about Text cells and Section headers? > > The way I feel about it is: "We don't need no stinking programming > language!" Many of the employees at WRI need a programming language but why > do the users need one? > > Instead of thinking of writing a computer program, why can't one think of > writing function definitions, equations, specifications (for a graphic or > table say, or for initial data), axioms (as Rules say) and other literate > forms of expression? I like to think of Mathematica as a piece of paper on > which we develop, write, and communicate ideas with a significant > mathematical or computational content. > > So how about a name like MagicPaper because the piece of paper has rather > magical qualities, with its computational power, memory and access to a wide > spectrum of information? Or maybe CPR for Computational Paper with > Resources. It really does get to the heart of the matter. Maybe static > "Paper" is not quite right but Windows might annoy the Mac people and > Screens isn't too great. Anyway, paper was used to doodle, try out ideas, > calculate and do symbolic math, and communicate ideas and that's what we > want to catch. > > I see people who write in "Mathematica" as ranging from those simply using > it as a graphical calculator, to those writing extensive scholarly works > (which I call Actomes for Active Tomes) that consist of books in the form of > a collection of notebooks, a number of packages with full documentation > (through Workbench unless WRI comes up with something better). These can be > wonderful things because they can act as a vehicle for exchanging ideas and > further development between authors and readers, or among groups of readers. > The other users are readers of such productions. > > It doesn't seem quite right to try to isolate the "programming language" > part of this - or even think in the paradigm of programming. > > > David Park > email@example.com > http://home.comcast.net/~djmpark/index.html > > > > From: firstname.lastname@example.org [mailto:email@example.com] > > > Readers of comp.soft-sys.math.mathematica (MathGroup) might be interested in > the latest blog from Stephen Wolfram. > > http://blog.stephenwolfram.com/2013/02/what-should-we-call-the-language-of-m > athematica/ > > It raises the question of what to call the programming language of > Mathematica. I will quote from near the end: > > "What should the name be? I'm hoping to get feedback on the ideas I've > discussed here, as well as to get new suggestions." > > The Comments section has reached 66 as of the time of my writing this note. > And the blog is but a few hours old. Suggestions are solicited. > > Daniel Lichtblau > Wolfram Research > >