When comparing OCaml vs Wolfram Mathematica, the Slant community recommends OCaml 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?” OCaml is ranked 14th while Wolfram Mathematica is ranked 60th. The most important reason people chose OCaml is:
Functional programming is based on the lambda calculus. OCaml is in its functional parts almost pure lambda calculus, in a very practical manner: useful for many daily programming tasks. The acitve development makes improvements to the type system like generalized algebraic data types (GADT) or polymorphic variants, so when learning this language you get at once a down to earth usable compiler and advanced abstraction features.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Actively-developed functional programming language at the forefront of research
Functional programming is based on the lambda calculus. OCaml is in its functional parts almost pure lambda calculus, in a very practical manner: useful for many daily programming tasks. The acitve development makes improvements to the type system like generalized algebraic data types (GADT) or polymorphic variants, so when learning this language you get at once a down to earth usable compiler and advanced abstraction features.
Pro Encourages functional style
It steers you towards a functional style, but doesn't bother you with purity and "monads everywhere" like other languages, such as Haskell.
Pro No windows!
Strong focus on *nix systems, lacking native support for MS Windows
Lacks native support for Windows systems.
Pro Sophisticated and easy-to-use package manager
OPAM is a package manager for OCaml, which is really easy to use, just like npm. It creates a .opam folder in home directory.
The documentation is great as well, and you can switch between multiple versions of OCaml for each project. You can also package your project and publish it on OPAM repositories, even if the dependencies do not exists on OPAM.
Pro One of the best for writing compilers
OCaml is compiled to native binary, so it's amazingly fast. Being a member of ML-family languages, it has expressive syntax for trees, and has great LLVM support.
Pro Stable syntax
The syntax is consistent, some syntaxic sugar but at a reasonable level, so reading code of others isn't too much confusing.
Pro Strong editor integration
The merlin
editor tool provides all you need to develop OCaml in your favourite editor.
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
Cons
Con Strong focus on *nix systems, lacking native support for MS Windows
Lacks native support for Windows systems.
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
Alternative Products
