Date: Feb 16, 2013 1:08 AM Author: David Park Subject: Re: Stephen Wolfram's recent blog 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.

David Park

djmpark@comcast.net

http://home.comcast.net/~djmpark/index.html

From: Andrzej Kozlowski [mailto:akozlowski@gmail.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".

Andrzej Kozlowski

On 14 Feb 2013, at 08:10, djmpark <djmpark@comcast.net> 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

> djmpark@comcast.net

> http://home.comcast.net/~djmpark/index.html

>

>

>

> From: danl@wolfram.com [mailto:danl@wolfram.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

>

>