There are a lot of general purpose programming languages out in the wild that can theoretically do anything that another language can. For example, Python and Ruby are pretty identical languages. The only reason one has become the dominant language of data science is because of the ecosystem that developed around it. Now, Python is nearly synonymous with data science. But there are other more specific programming languages that cater to a field of science. These are the languages that are considered niche. Those who use them swear by them. To outsiders, you might as well be speaking greek.
Here are eight programming languages(not named Python) that scientists use.
Matlab is a programming platform developed by MathWorks to allow for matrix manipulations, plotting data, implementation of algorithms, creation of users interfaces. The language is used mostly by students in university level courses. Matlab comes with an IDE, debugger, and a suite of tools and built-in methods, like most other languages.
Though Fortran may seem like a relic today(I posted an article about how it was all the rage in the 80’s), it’s still chiefly used by physicists. The main reason for its continued existence is it’s speed and flexibility when it comes to built-in parallelization and arrays. The language is used along with C++ for high computation tasks that involves modeling stars and galaxies, climate, and electronics.
This language is a bit ancient and perhaps only in use in certain mainframes–even then its superset ESPOL would be in use. Why ARGOL is relevant now is that it lay the groundwork for languages like Simula, Pascal, C, and Ada. The reason for ARGOL’s influence lay not only in its syntax but its extensive use in academia. Since ARGOL became the lingua franca of algorithmic description, later works would continue to add new ideas to the world of language and algorithm development, one of them being the ALGOL 60 Report edited by Peter Naur. The grammar description later became standardized and was called the Backus-Naur Form.
The APL programming language is a programming language for the mathematically inclined individual. Like many other programming languages used for mathematical modelling, the multidimensional array is the primary data type of this language. Unlike many other computational languages, APL is hellish to read. The language attempts to abstract complex mathematical functions into representative symbols. In so doing, skilled APL programmers can increase productivity.
J is what you get when a developer looks at the crazy symbols in APL and says, “I can fix that.” Instead of relying on foreign symbols, J relies on the tried and true ACII character set. Still, J is notorious for its conciseness. One line of J can do more than one page of code in many other languages. The language is used for mathematical and statistical programming.
Julia has the look of a dynamic scripting language, but it’s multiple dispatch system gives Julia the flexibility to be both dynamic and strongly typed; functional and object-oriented. This means Julia can be applied to various applications. The very ethos of Julia is flexibility. It’s founder, Professor Alan Edelman, wanted Julia to have “the speed of C with the usability of Python, the dynamism of Ruby, the mathematical prowess of MatLab, and the statistical chops of R.” While the language may not have met those loft goals, the principle behind its design makes Julia a handy Swiss Army knife for data scientists.
The Wolfram Language, formerly known as Mathematica, is a language that represents data like strings and integers as symbols. It’s highly symbolic nature is great for representing large data in a clean, readable way.
The R programming language is a language centered around statistical computing. According to the R website, R is “an integrated suite of software facilities for data manipulation, calculation and graphical display.”