PM. This is a short essay, that has been included in the May 23 2018 update for this notebook and package:
Mathematics concerns patterns and can involve anything, so that we need flexibility in our tools when we do or use mathematics. In the dawn of mankind we used stories. When writing was invented we used pen and paper. It is a revolution for mankind, comparable to the invention of the wheel and the alphabet, that we now can do mathematics using a computer. Many people focus on the computer and would say that it is a computer revolution, but computers might also generate chaos, which shows that the true relevance comes from structured use.
I regard mathematics by computer as a two-sided coin, that involves both human thought (supported by tools) and what technically happens within a computer. The computer language (software) is the interface between the human mind and the hardware with the flow of electrons, photons or whatever (I am no physicist). We might hold that thought is more fundamental, but this is of little consequence, since we still need consistency that 1+1 = 2 in math also is 1+1 = 2 in the computer, and properly interfaced by the language that would have 1+1 = 2 too. The clearest expression of mathematics by computer is in "computer algebra" languages, that understand what this revolution for mankind is about, and which were developed for the explicit support of doing mathematics by computer.
The makers of Mathematica (WRI) might be conceptually moving to regarding computation itself as a more fundamental notion than mathematics or the recognition and handling of patterns. Perhaps in their view there would be no such two-sided coin. The brain might be just computation, the computer would obviously be computation, and the language is only a translator of such computations. The idea that we are mainly interested in the structured products of the brain could be less relevant.
Stephen Wolfram by origin is a physicist and the name "Mathematica" comes from Newton's book and not from "mathematics" itself, though Newton made that reference. Stephen Wolfram obviously has a long involvement with cellular automata, culminating in his New Kind of Science. Wolfram (2013) distinguishes Mathematica as a computer program from the language that the program uses and is partially written in. Eventually he settled for the term "Wolfram language" for the computer language that he and WRI use, like "English" is the language used by the people in England (codified by their committees on the use of the English language).
My inclination however was to regard "Mathematica" primarily as the name of the language that happened to be evaluated by the program of the same name. I compared Mathematica to Algol and Fortran. I found Wolfram's Addison-Wesley book title in 1991 & 1998 "Mathematica. A system for doing mathematics by computers" as quite apt. Obviously the system consists of the language and the software that runs it, but the latter might be provided by other providers too, like Fortran has different compilers. Every programmer knows that the devil is in the details, and that a language documentation on paper might not give the full details of actually running the software. Thus when there are not more software providers then it is only accurate to state the the present definition of the language is given precisely by the one program that runs it. This is only practical and not fundamental. In this situation there is no conflict in thinking of "Mathematica as the language of Mathematica". Thus in my view there is no need to find a new name for the language. I thought that I was using a language but apparently in Wolfram's recent view the emphasis was on the computer program. I didn't read Wolfram's blog in 2013 and otherwise might have given this feedback.
Wolfram (2017) and (2018) uses the terms "computational essay" and "computational thinking" while the latter is used such that he apparently intends this to mean something like (my interpretation): programming in the Wolfram Language, using internet resources, e.g. the cloud and not necessarily the stand-alone version of Mathematica or now also Wolfram Desktop. My impression is that Wolfram indeed emphasizes computation, and that he perhaps also wants to get rid of a popular confusion of the name "Mathematica" with mathematics only. Apparently he doesn't want to get rid of that name altogether, likely given his involvement in its history and also its fine reputation.
A related website is https://www.computerbasedmath.org (CBM) by Conrad Wolfram. Most likely Conrad adopts Stephen's view on computation. It might also be that CBM finds the name "Mathematica" disinformative, as educators (i) may be unaware of what this language and program is, (ii) may associate mathematics with pen and paper, and (iii) would pay attention however at the word "computer". Perhaps CBM also thinks: You better adopt the language of your audience than teach them to understand your terminology on the history of Mathematica.
I am not convinced by these recent developments. I still think: (1) that this is a two-sided coin (but I am no physicist and do no know about electrons and such), (2) that it is advantageous to clarify to the world: (2a) that mathematics can be used for everything, and (2b) that doing mathematics by computer is a revolution for mankind, and (3) that one should beware of people without didactic training who want to ship computer technology into the classroom. My suggestion to Stephen Wolfram remains, as I did before in (2009, 2015a), that he turns WRI into a public utility like those that exist in Holland - while it already has many characteristics of this. It is curious to see the open source initiatives that apparently will not use the language of Mathematica, now by WRI (also) called the Wolfram Language, most likely because of copyright fears even while it is good mathematics.
Apparently there are legal concerns (but I am no lawyer) that issues like 1+1 = 2 or [Pi] are not under copyright, but that choices for software can be. For example the use of h[x] with square brackets rather than parentheses h(x), might be presented to the copyright courts as a copyright issue. This is awkward, because it is good didactics of mathematics to use the square brackets. Not only computers but also kids may get confused by expressions a(2 + b) and f(x + h) - f(x). Let me refer to my suggestion that each nation sets up its own National Center for Mathematics Education. Presently we have a jungle that is no good for WRI, no good for the open source movement (e.g. R or https://www.python.org or http://jupyter.org), and especially no good for the students. Everyone will be served by clear distinctions between (i) what is in the common domain for mathematics and education of mathematics (the language) and (ii) what would be subject to private property laws (programs in that language, interpreters and compilers for the language) (though such could also be placed into the common domain).
Colignatus, Th. (2009, 2015a), Elegance with Substance,
(1) website: http://thomascool.eu/Papers/Math/Index.html
(2) PDF on Zenodo: https://zenodo.org/record/291974
Wolfram, S. (1991, 1998), Mathematica. A system for doing mathematics by computer, 2nd edition, Addison-Wesley
Wolfram, S. (2013), What Should We Call the Language of Mathematica?, http://blog.stephenwolfram.com/2013/02/what-should-we-call-the-language-of-mathematica/
Wolfram, S. (2017), What Is a Computational Essay?, http://blog.stephenwolfram.com/2017/11/what-is-a-computational-essay/
Wolfram, S. (2018), Launching the Wolfram Challenges Site, http://blog.stephenwolfram.com/2017/11/what-is-a-computational-essay/
I liked the subtitle: "a system for doing mathematics by computer", as well. I don't know why it is not used anymore. Perhaps it was a marketing decision, since most people have a much more limited view of what maths is than what it really covers.
I regard the term "computational essay" as emphasizing the essay part. Although is is slowly changing, it was the case that you could get a degree in maths without writing anything other than cryptic proofs, if that. The point of the initiative is that you can write an essay exploring ideas that happen to involve computation as part of the exposition. What Mathematica (Wolfram Language) lets you do is to deal with ideas rather than symbol manipulation or bit twiddling.
I think that this is the aim of Conrad Wolfram's Computer-based mathematics. In most presentations, he (and a lot of others) go through the four steps in solving a problem using maths. The computational part is just one step. The (computational) essay is one means of integrating all four steps into one document.
In this forum (and stack exchange) as well as a lot of the educational materials from Wolfram Research, there is an emphasis on the nuts and bolts of using the tool, rather than placing the tool in context. One exception is Stephen's live-coding exercises, where he explores an idea using the computer, the way that Feynman might use a yellow pad and #2 pencil.
This idea needs to be greatly expanded, of course, and this method of presenting the function of thinking using a computer needs to be embraced by people from other disciplines. I studied music composition in my youth, and some of my teachers would take this approach in showing how to take a musical idea and explore what can be done with it. Straight lectures have their place, but they are often too polished so that a student has no idea why the lecturer is doing something or where the ideas came from. This can be mystifying to non-majors, and can end up with maths majors (physics/chemistry or engineering majors) treating maths as a cookbook for solving problems rather than as a creative act.
As a concrete example of the problems this causes, I developed a real-time process control system for a large clinical lab. It was a big success, and in order to make it work, I had to develop some new maths. my boss, who had a Ph. D. in analytical chemistry, could not accept any mathematical techniques that he had not learned in his statistics course from the 1970s. For him, maths was a frozen body of knowledge.
As for getting Mathematica in the hands of everyone, I agree in principle. Mathematica was bundled with NeXT computers at one time, and it would be great to bundle it (with a one-year "home use") license with every computer -- or iPad. I have mixed feelings about open-source. I think that there is evidence that open source projects simply cannot bring the level of polish to the software or the level of technical support that is required for a commercial product. Open source coding libraries, etc. are generally written by experts for experts, and there is an understanding that the user knows how to fix things. Think of the difference between Linux and OS X -- both of which are based on UNIX. Back in the dark days for Apple, I looked into switching to Linux when it looked like there was no future for Apple. I found that I could make it work, but I had already been coding for 20 years at that point.
The real issue is not open-source or cost, but acceptance. The cost of a student or home license for Mathematica is less than many people pay for Netflix or Amazon Prime. I realize that there is a large percentage of the population who cannot afford this, but that is a sociological problem, a problem with a solution. The real problem is that a large percentage of the population simply has no idea what maths is, and there is a social prejudice to simply hate it. This problem has been hashed out in the popular press and by people far more expert than I in this field.
For this to change, the way maths is taught in K-6 needs to change. There are encouraging signs, but I think that a lot of the success stories are limited, and the vast majority of students are still taught the 'traditional' way. There is evidence that it will be necessary to change the way pre-schoolers encounter maths, but that is a real sociological problem, and with the current anti-intellectual mindset in the US, it is not likely to change. In these areas, Mathematica (any computer algebra system) is of limited use. From what I have read, hands-on learning is more important than computer proficiency (in any field, not just maths and science), and effective learning can take place without a computer until age 10 or so. What is far more important is to have a teacher who loves maths, and there are a lot of otherwise effective K-6 teachers who are math-phobic. (It may have been a while ago, but most of my elementary school teachers were in this category.) Better education of teachers is one solution, but more important, teaching as a profession needs to be respected. (Better pay is just part of the solution.) We know that this is possible based on the experiences from other countries. [Sorry to make this part US-centric, but at least some of my observations have more generality.]
As for the rest, learning the specific syntax of Wolfram language is no different than learning the menus and conventions for a word processor or spreadsheet. I think that Wolfram Language has an easier entry than most other technical software, particularly if you use natural language input as an on-ramp. Having easy access to real-world data makes applying maths to a student's experience much easier -- no more trains colliding problems or made up nonsense. Being able to easily change things (as in Manipulate) makes it much easier to get a grasp of fundamental concepts than to work through a bunch of very similar exercises.
I will be putting these ideas to the test. Over the years, I have developed a large number of gaps in my mathematical knowledge, and I intend to fill them by using Mathematica. I will be making lots of (computational) essays, demonstrations, and explorations as a matter of course. Whether any of this work leaves the nest is unknown at this point, but my goal is insight, not publication. We shall see.
I tend to agree with you on all these points. Observe though: (1) While a student license certainly compares to other popular expenses by students, a teacher who wants to work on the class screen will still need a school license. It takes two to tango. (2) While Mathematica is a most agreeable language to work with, since it takes its structure from mathematics itself, combined with Wolfram's innovations on patterns in input (and perhaps other elements but let us not start a discussion on that), we still see that other computer algebra systems do not adopt the same language. See the new Babel at https://en.wikipedia.org/wiki/List-of-computer-algebra-systems (underscores). Is it really so that mathematics by nature invites a new Babel, merely because such programmers want to impress the world with their own way of putting the same ? Isn't it the truth that mathematics already developed quite a uniform way to state issues, and that Wolfram had the wisdom to adopt the language of his intended users ? PM. Google translate helps for English versus French, but not between Mathematica, Maple, R, SageMath, and what have you, so that programming is always for smaller communities instead of the whole world. The present situation goes fundamentally against the notion of Leibniz of letting mathematics be the universal language. It are people who create the present situation, and it ought to be possible to talk some sense into this. As an economist my diagnosis is that we don't have a market but a jungle, and that regulation is required to create a proper market.
It's always been a jungle. There has never been a single 'best language'. My coding experience predates c, and there are few languages in existence then that are still in use. What languages survive does not always depend on quality. For example, in the clinical chemistry (and related fields) business, MUMPS is still used, even though it is a truly wretched language.
As for CAS, it is easy enough to translate MathCad or Maple into Wolfram Language code, since Wolfram Language supports multi-paradigm coding.
Having multiple choices can be a problem for students, professors and textbook writers, to be sure. I see the issue myself when I take MIT Open courseware for maths, most of which seems to use MathCad. It is easy enough for me to do the translation, and I think that anyone who is seriously entering a field where they need to use a CAS will need to have some experience with more than one of these languages. Fortunately, must universities have site licenses, so the cost is acceptable for students.
Another issue regarding language is the almost exclusive use of English. I may be wrong, but Mathematica is one of the few software systems that addresses this: they have what are essentially subtitles for their code. You still have to type the commands in something English-like, but you can see the meaning in French, German, Chinese, etc.
Ultimately, things will settle out. We live in interesting times. We cannot go back to the days where all you needed was a yellow pad and #2 pencil (plus access to a whole lot of books, plus a mentor or two), and the future is not happening soon enough. For myself, I do not see things falling out to one CAS, any more than there is only one operating system, although it might have appeared to be the case in the late 1990s.
If you think about it, there have always been different ways of doing things in maths: different approaches, different metaphors. This may be poorly taught at present, but diversity is a good thing.