The next step in the conversion of the Mathematica symbolic math package into a programming language has just been launched - Wolfram Programming Cloud. Try it for free...
... but if you get hooked the bill increases quite quickly.
The real mystery of Wolfram Language is why it took Stephen Wolfram so long to realize that it was possible to get a wider adoption of Mathematica by making the language more important than the program. After spending a lot of time agonizing about what to call the Mathematica scripting language it was named Wolfram Language and it has been claimed as a breakthrough. It is only a breakthrough, however, if you haven't already encountered Mathematica, as it is mostly a port of the Mathematica scripting language to the cloud plus some additional libraries such as an API to use Wolfram Alpha.
While much of what is going on is a marketing exercise, there is some good news. First have a free tier for Wolfram cloud that is going to let a lot of people try out the new, or should that be 'old', language and see if it can do anything for them. The second is that the language is backed by all the function libraries that make Mathematica powerful and different.
The key difference between Wolfram Language and most others is that it is a symbolic language that lets you perform complex list processing operations. The original intent was to allow the manipulation of mathematical expressions, but it also makes general symbolic computation possible. For example, if you want to solve a differential equation or an integral there is a function that will do the job and you can then use other functions to factor and simplify the result. The same technology can be used to apply machine learning or image processing. One of the huge advantages of using Mathematica or Wolfram Language is the number of advanced function libraries that are available. In this respect it is like Python in that many problems are already solved in the form of modules.
You can see it in action in the following video:
If you sign up for the Programming Cloud then you will feel at home if you are familiar with Mathematica. It uses a Notebook metaphor complete with the familiar in[ ] out[ ] line groupings and even Shift+Enter to evaluate an expression. If you haven't used Mathematica then you probably want to know what the language is like. It is often said of it that you can write in any of the three major styles - procedural, functional or object-oriented. The claim that it is object-oriented is a bit misleading, but you can write good procedural code with a functional flavour. Overall it has aspects of Lisp, but to be honest it is a bit of a mess, which reveals its origins as the scripting language for Mathematic. Over the years it has had new features added, but to be honest its power lies in its basic List data type and its large collection of built-in functions.
You can sign up for a free account, although you have to register. For this you get a single development account, 0.2G of storage, 500 cloud credits and 100 Alpha API calls per month. You can also only deploy a program for 30 days and there are limits on how you can use some functions. Also notice that the cloud credits are used up when you do things like create a Restful API, process natural language, and provide access to your programs by other users. It is very difficult to work out how these restrictions will affect your use of the system. What is certain is that if you develop anything useful then you will have to move up to at least the first paid tier, which costs $15 per month and includes 5000 cloud credits.
It you want to use Mathematica in the cloud this is a good way to do it, but the free option is really only of use to explore the system and to see if it has anything to offer.
We have recently seen how much neural networks can learn, but the latest example is very strange. Google has succeeded in teaching a neural network to be a computer simply by showing it programs and w [ ... ]