Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I think the point is the fun of the language. See here: http://julialang.org/ and scroll down a bit for the speed comparison.


Wow, looking at those benchmarks it amazes me that Mathematica is so much faster than Matlab and Octave!

I used to recommend Mathematica to anyone wishing to "play around with math" and "get a feel for it", due to the user friendly interface and 'manipulate' function that allows you to pop a few sliders for realtime manipulation of parameters in functions and instant visual feedback in one line of code, but always thought of it as either a "toy" or a "learning tool", compared to Matlab that is used by "serious engineers" (mind it, I like neither, I'm a Python and C person, but I'm also closer to what some would consider a "software engineer" and definitely not a mathematician or scientist).


There are really two reasons that Mathematica isn't taken seriously by engineers. The first is that Mathematica started life as a symbolic math package while engineers need numeric math. Now mathematica has done a lot over the past few release to catch up on the numeric side, but the notion that it is just for symbolic math lingers.

The second is the language itself. Matlab is a procedural language heavily inspired by Fortran. Mathematica of the other hand as a largely functional language that takes several design cues from Lisp. Historically most engineers came from a Fortran rather than a Lisp background and most engineering programming is still taught in a "Fortran-inspired" way, so the Matlab language is simply more comfortable for most engineers to think and work in.


To be honest, I've given a quick look at the implementation in Mathematica, and I think one could do much better.

The code is mostly wrapped in Compile statements and is very procedural in style.

As a quick test I compared their quicksort with the built in Sort obtaining results about 30 times faster than theirs.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: