Hot on the heels of Wolfram Language we now have Mathematica 10, which is said to be the first version to be based on the new language.
Mathematica has always been based on Wolfram Language. It is just that until recently it hasn't been recognised by Wolfram as a separate language and it didn't have a name.
Now that Wolfram Language has gone cloud-based so too has Mathematica. Now when it runs it connects to the Wolfram Cloud so that you can store and share files and access its knowledge base.
The biggest change that has come about is that, because Wolfram Language has to deal with the wider world and not just strict mathematical topics, Mathematica 10 has more than 700 new functions. Many of the new function are in areas such as machine learning and data analysis, but there are some core math additions as well.
Perhaps the most interesting is geometric computation. You can now perform operations on geometric regions including combining them using Boolean operators. Once you have your region you can work out standard geometric properties such as centroid, volume and so on. What makes this new feature interesting is that the regions can be used as inputs to many of the existing solvers - optimization, differential equations and so on. As well as the pure math aspect you can also create regions based on meshes, which brings 3D design into Mathematica.
Among other new features and tweaks that might catch a user's eye is the ability to solve numerically solve polynomial equations with more than 100,000 solutions. There are also new symbolic solvers for hybrid differential equations and differential delay equations. One that all complex numbers 101 students will love is the ability to find the domain and periodicity of a function over the reals and complex numbers in any dimension.
The new machine learning facilities don't seem that impressive at first look. You can use Logistic Regression, Markov prediction, NaiveBayes, Nearest Neighbour, Random Forest and Support Vector Machine as the classification methods. Not a neural network in sight. You also get some pre-trained classifiers for things like text, email spam, language detection and so on. One nice feature is an automatic time series analysis, which will probably result it a lot of new models that the users just don't understand.
Also new is the geographical computation module with support for visualization, and geostatics. It is also worth noting that Mathematica 10 has added finite element analysis to its collection of numerical differential equation solvers. This takes it into an area that usually requires a specialist package.
There are far too many new features to list here with a complete discussion. What is even more difficult to work out is what interactions there are between the new features. It may be true that the new AI facilities are the sort of thing you could produce with a little coding in the old Mathematica it might be interesting to see how they can be used in conjunction with things like time series, geometric computation and so on. The new connected device framework for example should make it easier to use AI when you construct your Arduino based smart doorbell. In this case the sum is more than the parts.
One thing is very clear - the idea of the Wolfram Language seems to have breathed new life into Mathematica and taken it well beyond the feature set of its nearest competitors, let alone open source alternatives like Sage.
Should it worry us that Wolfram is to mathematical and technical computation what Google is to search?
The results of the 2017 Stack Overflow survey are available. They cover many different aspects of the developer landscape and one that is of immediate interest is what we can expect to be paid and whe [ ... ]