Sneftel
Sneftel

Reputation: 41552

Need good language for math- and logic-heavy research programming

Can anyone name a language with all the following properties:

  1. Has algebraic data types
  2. Has good support for linear algebra
  3. Is fast(-er than python, at least)
  4. Has at least some functional programming ability (I don't need monads)
  5. Has been heard of, is not dead, and can interface on a C calling level

Upvotes: 6

Views: 232

Answers (3)

T.E.D.
T.E.D.

Reputation: 44824

I have my own favorite pet languages, and this isn't one of them, but it sounds to me like R is probably what you are looking for. It seems to be the hot new language these days for people doing heavy math.

As for the "faster than Python" part, that's tough to say. In general, languages don't really have a speed; language implementations do. So the only way to tell really is to compare your time-constraining algorithm on each implementation you can get.

Upvotes: 1

Jonas
Jonas

Reputation: 129135

Scala

According to Wikipedia it has algebraic datatypes. And it is fast. Scala is both functional and object oriented. And it's a young language with a growing userbase but still to some extent compatible with Java.

There is a Scala library Scalala for linear algebra:

A high performance numeric linear algebra library for Scala, with rich Matlab-like operators on vectors and matrices; a library of numerical routines

Upvotes: 1

Kon
Kon

Reputation: 27451

I'd say C and C++. And they work well with:

Upvotes: 1

Related Questions