Julia Programming Language Receives $600k Donation
jones_supa writes: The Julia programming language has received a $600k donation from Moore Foundation. The foundation wants to get the language into a production version. This has a goal to create more efficient and powerful scientific computing tools to assist in data-driven research. The money will be granted over the next two years so the Julia Language team can move their core open computing language and libraries into the first production version. The Julia Language project aims to create a dynamic programming language that is general purpose but designed to excel at numerical computing and data science. It is especially good at running MATLAB and R style programs.
...are we doomed to forever playing with our own Python?
Not at all. Julia is just-in-time compiled to native code. You can basically get C-like performance in pure julia: http://julialang.org/benchmark...
There's also a powerful type system and lisp-style macros, along with support for parallel programming and lightweight threads, allowing you to do stuff like: https://gist.github.com/anj1/2...
(that's just a toy example, of course)
A fool and his hard drive are soon parted.
Julia is aimed at people who do math-heavy problems (like computational physics), so that might be why you haven't heard of it. I think it's been on /. before.
I've never used Julia (the computing resources I have access to don't support Julia), but I've been following it, and the language looks pretty impressive: the ease of python/matlab with the speed of fortran/c. It's pretty impressive for a language you can use interactively.
I won't be silenced until Brainfuck gets the recognition it deserves!
The world's burning. Moped Jesus spotted on I50. Details at 11.
What is actually wrong with you?
Julia is a useful niche language with a sizable community, not some bullshit vanity project. Unfortunately it has not chance of dislodging R, and I'll never understand the decision to make it dynamic, but it fills a role that nothing else does, at the moment.
Also, I have no idea what you think the word "hipster" means, or why you're so angry about it.
sic transit gloria mundi
http://julialang.org/benchmark...
If you think Java handles 'all tasks' then Julia isn't aimed at you. it's for scientific/numerical computing. Java is terrible at that, in terms of syntax, library support, and speed. Even python is far better than Java for that purpose.
A fool and his hard drive are soon parted.
It appears the ignorance level here on Slashdot has risen too an all time high. With the exception of one or two, none of the have any idea what they are talking about. People should be more careful about bashing things they know absolutely nothing about. Julia is a fairly kickass language and if you are a coder it should be on your radar -- up there with Go, Rust, Elixir, Clojure, etc. Having dabbled in most languages, I'd say it just might be the best of the lot, although I do dislike its module system.
You'd be mostly benchmarking the quality of the underlying BLAS implementation. All these languages call the same blobs of Fortran and assembler code, and the performance of the glue part is insignificant once you have a matrix larger than 100x100.
My first program:
Hell Segmentation fault
The best is actually faster than C, and the worst is 2.1x slower, not 5x slower (numerical values given in http://julialang.org/ ). And that's just the fibonacci benchmark; the other ones are within 50% of C performance except for rand_mat_stat which is 60% slower than C (this is due to the garbage collector, apparently).
A fool and his hard drive are soon parted.
Julia is revolutionary, and I'm looking forward to it blowing away Matlab. All that's really holding it back is a good garbage collector, and mind-share. The language is truly superior, integrates seamlessly with C (like it is the same language -- there is no two-language problem), and soon C++. Could seriously replace C++ for /most/ things if it were multi-threaded. (There is some work on this, but Julia is designed to be multiprocess -- you can seamlessly shift objects between processes, even if they are on different machines. This is better then threads if you're doing scientific computing.) So Julia even has the potential to be better than D. And it runs as fast C (compiled by clang), and comes with the convenience of a REPL, and a truly beautifully designed.
Julia looks a lot like Matlab, and some Matlab code just runs as is, or requires only minor tweaks. Mathworks has long dominated scientific computing with their awkward and expensive -- but otherwise so convenient -- product. Mathworks is screwed.
Java/C#/python will never be what Julia is.
Like all pain, suffering is a signal that something isn't right
No they are not. Python has a two-language problem, for a starters. Also, Python is a pain in the neck for scientific computing, which is my day job, btw. Also Julia is soon to work seamlessly with both C and C++ (like, include header, load library, and execute code without any bindings or nonsense). Julia has the potential to be properly threaded, but is really aimed at being seamlessly multi-process. That mean seamlessly moving data between processes -- even on different computers and networks. This is seriously useful for scientific computing. Julia is much more like Matlab, and Matlab is much, much, much better for scientific computing than python ever can be. Also, Julia should work faster than python once the garbage collector has been updated.
Like all pain, suffering is a signal that something isn't right
There will be a big "ease of use" benefit to using Julia though. Julia requires to bindings to run C code (and soon C++ code, including all those fancy templates). That's because Julia doesn't suffer the two-language problem that every other language does. Julia types are LLVM types, and C types are LLVM types. Same with function calls. It's so simple and convenient.
Like all pain, suffering is a signal that something isn't right
Any language that purports to be a good for technical computing needs to get away from a forced base for indexing arrays. No, this is not a 0 or 1 problem. Arrays should be numbered from whatever the programmer specifies. The Pascal-type languages including Ada have this feature and it prevents many many errors. Maybe the $600K can buy this, but somehow I doubt it as this fixed-index-base is usually in the mindsets of the language's designers.