On Thursday, 12 December 2013 at 10:34:40 UTC, Joseph Rushton Wakeling wrote:
On 12/12/13 01:56, bearophile wrote:
Look better, Julia aims also at partially replacing Python as golden glue in scientific computing, and it seems to have some of the numbers for it. It's statically typed, it has type inferencing, a refined type system with multi-methods and more, and a good LLVM-based JIT (that's in my benchmarks produces a performance no more than 2-4 times slower than D compiled with ldc2. If you compile D with dmd Julia is often faster for FP-heavy code. This means
it's much faster than any Python code).

Is that taking into account stuff like NumPy/SciPy which is C underneath and (according to colleagues who use it; I don't) super-fast?

It's better than Matlab about as much as D is better than C, and it's already better than Python for some things :-) And Julia is currently much more flexible than D (there's a REPL, lot of scientific routines in the std lib, and the JIT). In two years its easy to write code has allowed lot of people to write more standard library than D community has done in 7 years.

Interesting. I did take a look at Julia after discovering that a colleague used it; it certainly has many friendly features, but I found myself worrying that some of the "easy" mathematical notation might very readily lend itself to unfortunate typos that in turn would generate bugs and wrong results.

That said, when it comes to stuff like MATLAB/Octave you are often not writing extended code bases but short and easy stuff for data analysis, so there is much less need for concern over this kind of thing. I imagine the same might apply to Julia, which at the same time looks like it should make it easier to develop larger-scale stuff if it's wanted, despite the things I'm worried about.

My colleagues use Matlab for prototyping, but you cannot use it for serious programs. The thing is that all languages like R/Matlab/Python etc. are good for testing scientific algorithms, but if you want to use them in real world programs (say speech recognition), you'll have to re-write it in a language like D/C/C++.

Reply via email to