
What is a good high level language that is also highly efficient? - lukev
My personal interests, as well as most of my career, have led me to very high-level languages such as Ruby and Clojure.<p>However, I've recently become interested in some problem domains that are usually best approached by more low-level languages, which provide the maximum level of memory efficiency and performance, as well as suitability for raw binary operations. Unfortunately, having been thoroughly spoiled by managed memory and strong typing, I break out in hives at the thought of undertaking an extensive project in C or C++.<p>So what are some good languages for this? D is interesting, but I'm a bit turned off by its lack of support for concurrency. Haskell can theoretically work in this domain, but it appears that it's quite difficult to reason about its performance without an inordinate level of understanding of its implementation details. Go looks interesting, but I haven't had a chance to explore it deeply yet (it's on my list.)<p>Are there any other options in this space?
======
ScottBurson
I think you should take a close look at the ML family. Well, I'm not sure how
good their concurrency support is; I doubt it's as good as Go's. But they have
very good compilers, and a reputation for being good for numeric work. They
are strongly typed and garbage-collected, but differ from Haskell in giving
you the option of writing imperative code when you want, and in generally
having a more familiar programming model (they are strict, like most
languages, rather than lazy).

OCaml has a small but strong following in the financial services world -- it's
used by algorithmic traders, who are known to be performance-sensitive, to put
it mildly. And Standard ML has the MLton whole-program optimizing compiler.

I have to qualify this by adding that I haven't used either of these tools
myself, but for certain kinds of problems, I would definitely give them a
closer look.

------
elclanrs
You can see statistics here
<http://shootout.alioth.debian.org/u64/benchmark.php> and make your own
benchamarks. I'd say JavaScript is pretty fast for being a high-level
scripting language. It's gettin' faster everyday with every new browser
version. JavaScript is no longer web-only, you can build desktop applications
and write server code with NodeJS.

------
jfaucett
Go. I'd definately move it to #1 on your list :) I've been using Go for a
while now and I gotta say the more I use this language the more I start to
love it. Its incredibly well thought out, the libraries are powerful and well
designed, the documentation is clean and extensive, plus its a great mix
between High and Low. And, in my opinion, as much as I like node for letting
me do js on the server, Go does it better.

------
MaysonL
Oberon, Go, Common Lisp, Matlab/Octave for some problems, R for some others,
APL/J/K for others.

