As somebody who’s captivated with each arithmetic and programming languages, I believed I might share what I contemplate to be 10 nice programming languages for arithmetic.
I aimed for selection in doing so, to present you a broad spectrum of approaches to programming and downside modeling.
The language descriptions are straight from their respective websites or wikipedia pages, however I’ve added my two cents all through the listing as properly.
1. Wolfram Language
The Wolfram Language is the programming language of Mathematica and of the Wolfram Programming Cloud.
It’s a normal multi-paradigm programming language developed by Wolfram Analysis. It was designed to be as normal as attainable and emphasizes symbolic computation, practical programming, and rule-based programming.
The language could be very giant, relating quite a few domains, usually specialised.
My take
It’s a good practical, rule-based, programming language that handles symbolic computation extraordinarily properly. That mentioned, I don’t discover it to be notably elegant, so far as programming languages go.
Its actual worth lies in its large multi-domain normal library, which is, notably for mathematical functions, years forward of just about some other programming language on this planet. Watch their demo and likelihood is you’ll be impressed.
2. Matlab / GNU Octave
MATLAB (matrix laboratory) is a multi-paradigm numerical computing surroundings and fourth-generation programming language.
A proprietary programming language developed by MathWorks, MATLAB permits matrix manipulations, plotting of capabilities and knowledge, implementation of algorithms, creation of consumer interfaces, and interfacing with packages written in different languages, together with C, C++, Java, Fortran and Python.
My take
Exhausting to beat for numerical computing. Take into account the open supply different implementation/clone, GNU Octave, as properly.
3. R
R is a programming language and software program surroundings for statistical computing and graphics supported by the R Basis for Statistical Computing.
The R language is broadly used amongst statisticians and knowledge miners for creating statistical software program and knowledge evaluation.
Polls, surveys of information miners, and research of scholarly literature databases present that R’s recognition has elevated considerably lately.
4. Coq / Gallina
Coq is an interactive theorem prover. It permits the expression of mathematical assertions, mechanically checks proofs of those assertions, helps to search out formal proofs, and extracts a licensed program from the constructive proof of its formal specification.
Coq works inside the concept of the calculus of inductive constructions, a spinoff of the calculus of constructions.
Seen as a programming language, Coq implements a dependently typed practical programming language, whereas seen as a logical system, it implements a higher-order kind concept.
Coq supplies a specification language referred to as Gallina. Packages written in Gallina have the weak normalization property – they at all times terminate.
5. Prolog
Prolog is a general-purpose logic programming language related to synthetic intelligence and computational linguistics.
Prolog has its roots in first-order logic, a proper logic, and in contrast to many different programming languages, Prolog is declarative.
This system logic is expressed by way of relations, represented as information and guidelines. A computation is initiated by operating a question over these relations.
6. Haskell
Haskell is a standardized, general-purpose purely practical programming language, with non-strict semantics and robust static typing. Haskell contains a kind system with kind inference and lazy analysis.
My take
One of many hardest languages to know for non-functional programmers, its studying curve is properly definitely worth the effort. Its aspect effects-free, purely practical nature makes it fairly appropriate for modeling mathematical issues. It is going to be of explicit curiosity to those that deal in class concept and programming language analysis.
7. Idris
Idris is a general-purpose purely practical programming language with dependent varieties. The sort system is much like the one utilized by Agda.
The language helps interactive theorem-proving corresponding to Coq, together with ways, whereas the main target stays on general-purpose programming even earlier than theorem-proving.
Different objectives of Idris are “enough” efficiency, straightforward administration of side-effects and assist for implementing embedded area particular languages.
My take
Analysis language. It combines components of Haskell and Coq. Fairly attention-grabbing.
8. Julia
Julia is a high-level, high-performance dynamic programming language for technical computing, with syntax that’s acquainted to customers of different technical computing environments.
It supplies a classy compiler, distributed parallel execution, numerical accuracy, and an intensive mathematical operate library. Julia’s Base library, largely written in Julia itself, additionally integrates mature, best-of-breed open supply C and Fortran libraries for linear algebra, random quantity technology, sign processing, and string processing.
My take
A really promising language for scientific computing and knowledge science. Due to the Jupyter mission, Julia can also be out there as executable notebooks.
9. Python
Python is a broadly used high-level, general-purpose, interpreted, dynamic programming language.
Its design philosophy emphasizes code readability, and its syntax permits programmers to precise ideas in fewer traces of code than attainable in languages equivalent to C++ or Java.
The language supplies constructs meant to allow clear packages on each a small and huge scale.
Python helps a number of programming paradigms, together with object-oriented, crucial and practical programming or procedural types. It contains a dynamic kind system and computerized reminiscence administration and has a big and complete normal library.
My take
What makes Python attention-grabbing from a mathematical and scientific standpoint is the in depth quantity of related libraries which are out there for this common programming language (e.g., numpy, scipy, scikit-learn, Sage, and many others).
Due to this wealthy ecosystem, you get a straightforward to study, good language that’s nice for scientific computing. And because it’s common, examples (and Jupyter notebooks) can be found far and vast.
10. J
J is a really terse array programming language, and is most suited to mathematical and statistical programming, particularly when performing operations on matrices. It has additionally been utilized in Excessive Programming and community efficiency evaluation.
Like the unique FP/FL languages, J helps function-level programming (not the identical as practical programming) by way of its tacit programming options.
My take
J, like APL and Okay, is a mind-bending language. It’s terse and exhausting to learn at first, but in addition extremely highly effective. Properly value experimenting with in case you are interested by new methods to strategy knowledge manipulation and evaluation.
That is an implementation of quicksort, simply to present you an concept of what we’re coping with right here.
quicksort=: (($:@(<#[) , (=#[) , $:@(>#[)) ({~ [email protected]#)) ^: (1<#)
Fairly wild.
So there you have got it, 10 nice programming languages for these interested by arithmetic. Different precious choices exist, after all, and I’d have an interest to listen to extra about your private favourites within the feedback under.