Following on from Wolfram's announcement of a new language that would change the way that we program, the news that Mathematica and Wolfram Language will be bundled with Raspberry Pi is, on the surface at least, electrifying.
Wolfram, both the company and its founder Stephen Wolfram, seem to have suddenly woken up from a bit of a sleep. Yes, there have been better versions of Mathematica and Wolfram Alpha is the technology behind Siri and other "intelligent" agents, but when you think how much they could have been doing with what they had you have to wonder why it has taken so long to make a move.
The first move was to formulate the idea that Mathematica was not just a symbolic engine but a computer language - Wolfram Language.
Why is this such a big and important move?
Because a language can crop up anywhere and not just within the Mathematica box.
However, this is something of an illusion in that the language relies on the symbolic engine for so much of its behavior that the two - engine and language - are fairly inseparable. The big problem is that for the language to seem to have a life of its own it has to be freed from the huge cost of having to buy a copy of Mathematica - which can be thousands of dollars depending on the licence.
In perhaps a first step to do this without damaging the company's revenue too much, Stephen Wolfram just announced that a deal with the Raspberry Pi Foundation means that the Raspberry Pi's "standard" OS will come bundled with a cutdown version of Mathematica and Wolfram language. Given that a Raspberry Pi costs only $25 to $30 this is a very low entry barrier and effectively makes Mathematica free if you are prepared to go this route.
If you are, you can get all of this now. Simply make sure that you have 600MB free on the Pi's SD card and install Mathematica using;
sudo apt-get update && sudo apt-get
You can have two reactions to this announcement.
Either you can shrug your shoulders and say "who needs Mathematica" or you can get excited by the idea that everyone can have a symbolic math system on cheap hardware.
The point is that Mathematica does algebra and calculus as easily, well almost as easily, as a pocket calculator does arithmetic. This makes it a great educational tool and does away with the old excuse of "I'm no good at math because I can't do algebra well enough to get it right". With Mathematica the only reason for getting it wrong is that you don't understand the concepts enough to know what to do.
Now we come to some of the potential problems.
The first is that the Raspberry Pi isn't a very powerful machine. Wolfram admits that Mathematica runs some 10 to 20 times slower on the Pi than on a PC. The Pi version is a pilot of the next version of the Wolfram Engine plus a command line version of the language and a Mathematica Notebook interface. It is also clear that the interface isn't particularly fast because of the heavy graphics requirements. A few things have been left out but all 5000+ Mathematica functions are there to be used. In addition there are some new functions that provide access to the Pi's hardware.
If you want to develop code on your PC, Mac or Linux machine then the new Remote Development Kit is what you need. In this case you also need a copy of Mathematica, which you have to pay for. But this allows you to develop code in the comfort of the power of a desktop machine and then download it to a Raspberry Pi to run.
So the development environment is limited but production code might just get up enough speed to be viable. At this stage it is difficult to know if the Raspberry Pi running Mathematica is going to have enough power to actually be useful - because it all depends on what the average user is going to want to do.
A big problem for many people is the fact that Mathematica isn't open source. It's a big-bad-proprietary program. It's free for the Raspberry Pi, but other Arm devices are going to need a licence to run it.
There is another symbolic math program that is open source and will run on the Raspberry Pi, among others - Sage. But there is no doubt that Mathematica has some advantages over it - hardware interfacing, video input from the camera, and a range of image processing and control theory functions. If the Pi is up to it then Mathematica makes it possible to build some very advanced applications without having to first implement complex processing libraries.
You do need to notice that the licence for the Pi is for personal and educational use only. If you have any commercial intent then you need to buy a full license.
At the end of the day this is an expression of the classic marketing strategy of giving away something that later the customer pays for. In the case of Mathematica, the Raspberry Pi version is eventually going to run out of steam for the user and the alternative is to upgrade to a paid version. Get them hooked young and they are hooked for life. This could be the way that Wolfram Language really is released from the box.
What isn't entirely clear is if this will get them hooked at all - remember there is the other reaction to the whole thing of "so what".
Personally I'm excited by the idea and the opportunity and despite some reservations I'm hooked. I do have an uncomfortable feeling that there might be something lurking that could bite me but that is just the suspicion that naturally hangs about anything that looks too good to be true.
If I'm typical, then the Raspberry Pi foundation can look forward to selling another 2 million Pis in a very short time.