When comparing Wolfram Mathematica vs ATS, the Slant community recommends ATS for most people. In the question“What are the best (productivity-enhancing, well-designed, and concise, rather than just popular or time-tested) programming languages?” ATS is ranked 49th while Wolfram Mathematica is ranked 60th. The most important reason people chose ATS is:
ATS has a theorem-proving type system powerful enough to prove that its functions meet their specifications. This happens at compile time with no performance impact at runtime. This can be used to prove that an ATS program doesn't have bugs commonly found in C++ programs, like "this function never leaks memory" or "this program never attempts to divide by zero" or "this buffer never overflows" or to verify pointer arithmetic, etc.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Lots of functionality
Pro Built-in CPU Parallelization
Pro Very mature
Wolfram Mathematica has been around for a long time without any major changes in the basic design.
Pro Coherent API over different domains
Pro Supports units and can do much more than just maths
Other platforms severely lack this useful feature.
Pro Fully integrated symbolic processing
Pro Very powerful and fast, also possible to get for free
Pro Built-in formal specification
ATS has a theorem-proving type system powerful enough to prove that its functions meet their specifications. This happens at compile time with no performance impact at runtime. This can be used to prove that an ATS program doesn't have bugs commonly found in C++ programs, like "this function never leaks memory" or "this program never attempts to divide by zero" or "this buffer never overflows" or to verify pointer arithmetic, etc.
Pro Free and open-source compiler
The compiler (ATS/Postiats) is GPLv3.
Pro Functional programming
The syntax is ML-like with the usual functional language features like pattern matching and tail-call optimization.
Pro High-performance systems language
ATS works as a low-level systems language. ATS programs have performance and footprint comparable to programs written in C/C++.
Pro Good module system
Similar to Modula-3. This makes ATS a viable choice even for large-scale projects.
Pro Safe concurrency
ATS can prove its concurrent programs have no deadlocks or race conditions.
Cons
Con Unintuitive data types and strange assignment statements
Representation of data still remains highly fragmented technically and one fumbles between data types and stumbles on strange assignment statements to attempt conversions of meaning.
Con Proprietary
Con No Windows version
But it does run on Cygwin.