10 excellent programming languages for math

Source: Internet
Author: User
Tags jupyter

0 focus on "lab building" and share a project tutorial every day

as a passionate person in math and programming languages, no one can stop me from sharing 10 of the fantastic programming languages I've summed up for math.

Text total: 2619 words

Estimated reading time: 7 minutes

As a passionate person in math and programming languages, no one can stop me from sharing 10 of the fantastic programming languages I've summed up for math.

The goal is to diversify and provide a wide range of programming and problem modeling methodologies.

The programming language description is excerpted from their respective websites or Wikipedia pages, but it also adds some of my ideas.

1. Wolfram Language

The Wolfram language is the programming language of Mathematica and Wolfram programming clouds.

It is a general-purpose programming language developed by Wolfram Research. It is designed to be as generic as possible, and emphasizes symbolic computing, functional programming, and rule-based programming.

Language is very large, involving many fields, usually more specialized.

my point of view

This is a fairly good functional rule-based programming language that can handle symbolic computations very well. In other words, I don't think it's particularly elegant in terms of programming languages.

Its real value lies in its vast range of standard libraries, especially for mathematical applications, which are almost as much ahead of any other programming language in the world. Click here to see the demo, which may impress you very much. 2. Matlab/gnu OCTAVE

MATLAB (Matrix Laboratory) is a multi-paradigm numerical computing environment and the fourth generation programming language.

This is a proprietary programming language developed by MathWorks, MATLAB supports matrix manipulation, function and data mapping, algorithm implementation, user interface creation, and programming interfaces written in other languages (including C,c++,java,fortran and Python).

my point of view

It's hard to do numerical calculations. This may be considered open source alternative to the implementation/cloning GNU Octave. 3. R language

R is a programming language and software environment for statistical calculations and graphics supported by R Foundation for statistical computing.

R language is widely used by statisticians and data diggers to develop statistical software and data analysis.

Polls, data-mining investigators and academic literature database studies show that the popularity of R has increased dramatically in recent years. 4. Coq/gallina

Coq is an interactive theorem proving tool. It allows the expression of mathematical assertions, mechanically examines the proofs of these assertions, helps to find formal proofs, and extracts the accreditation procedure from the constructive proof of its formal specification.

Coq work on the basis of inductive structural calculus theory, inductive structural calculus is a derivative of structural calculus.

As a programming language, Coq implements a dependent type of functional programming language, and as a logical system, coq implements a higher-order type theory.

Coq provides a canonical language called Gallina. Programs written with Gallina have a weakened standard attribute-they always terminate. 5. PROLOG

Prolog is a universal logical programming language related to artificial intelligence and computational linguistics.

The origin of the Prolog is the first-order logic-a formal logic, and unlike many other programming languages, the Prolog is declarative.

Program logic is expressed in relation to facts and rules. Start the calculation by running a query on these relationships. 6.Haskell

Haskell is a standardized, general-purpose, pure functional programming language with a strict semantics and a powerful static type. Haskell type systems that have type inference and lazy computations.

my point of view

As one of the most difficult languages to master, the learning curve of a non functional programmer is very difficult. There is no side effect and its sheer functionality makes it ideal for modeling math problems. Those who are engaged in the study of category theory and programming language will be particularly interested in Haskell. 7. IDRIS

Idris is a general-purpose pure functional programming language with related types. The type system is similar to the type system used by AGDA.

Language support can be compared with Coq interactive theorem proofs, including strategies, even before the theorem proved that the focus is still on universal programming.

Idris's other goals are "adequate" performance, easy to manage side effects, and support for implementing embedded domain-specific languages.

my point of view

Research-oriented language. It combines the elements of Haskell and coq. Very interesting. 8. JULIA

Julia is a high-level and high-performance dynamic programming language for technical computing, with the syntax of other technical computing environments familiar to the user.

It provides a complex compiler, distributed parallel execution, numerical accuracy and a wide range of mathematical function libraries. Julia's basic library, mainly written in Julia, also integrates the mature and best open source C and Fortran library for linear algebra, random number generation, signal processing and string processing.

my point of view

A very promising programming language for scientific computing and Data science. Because of the Jupyter project, Julia can also be used as an executable notebook computer. 9. PYTHON

Python is a widely used high-level, general-purpose, and interpreted dynamic programming language.

Its design philosophy emphasizes code readability, and its syntax allows programmers to express concepts in fewer lines of code than in languages such as C + + or java.

The language provides a structure designed to achieve small-scale and large-scale clear programs.

Python supports a variety of programming paradigms, including object-oriented, command-line and functional programming, or procedural styles. It has dynamic type system and automatic memory management, and has a large and comprehensive standard library.

my point of view

From a mathematical and scientific point of view, Python is interesting in that there are a number of relevant libraries available to use in this popular programming language (e.g., numpy,scipy,scikit-learn,sage, etc.).

Thanks to this rich ecosystem, you can easily learn, which is really great for scientific computing. Moreover, because it is popular, examples (and jupyter notebooks) can be used extensively. Ten J.

J is a very concise array programming language, especially for mathematical and statistical programming, especially when performing operations on matrices. It is also used for extreme programming and network performance analysis.

Like the original FP/FL language, J supports functional-level programming (unlike functional programming) through its implicit programming capabilities.

my point of view

J, like APL and K, is a strange and puzzling language. Simplicity was difficult to read at first, but very powerful. If you're interested in new ways to handle data manipulation and analysis, it's worth trying.

Here's a quicksort implementation-just to let you know what we're dealing with here.

Quicksort =: ($:@ (<#[), (=#[), $:@ (>#[)) ({~. @#)) ^: (1 <#)

Write more uninhibited.

Well, that's the end of it. Of course, there are other valuable options, and you are welcome to tell us in the comments.




Author: Xiao Feng

Source: Code Rural Network

Link: http://www.codeceo.com/article/10-programming-language-for-math.html


Recommended reading:

Wunda: The child will be able to read and teach her to write code immediately.
2017 Internet Ten unsolved Mysteries, you can answer a few.
2018 Most employment prospects of the 7 major programming languages
2018 's Hottest 10 technology keywords, every move will change the future


Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.