6 ms·
Comparison of Matlab, R, and Julia for data analysis (2012)
- jostmey 14y agoI just discovered "Julia" thanks to this article. It looks like a wonderfully thought out programming language. Unfortunately, I am having trouble installing the language on my dated OS. Apparently, I need Ubuntu 13 to run it!
- c0g 14y agoI have had no trouble compiling from source. Are you trying to use a PPA?
- etrautmann 14y agoCan anyone comment on the difficulty of porting Matlab code to Julia? It appears extremely straightforward, but I'm guessing that many toolbox functions aren't implemented in Julia yet? In academia, there's tremendous momentum behind Matlab, but Julia would solve many problems with licensing, building more complex systems, etc.
- KenoFischer 14y agoThere's a growing number of packages written in Julia (http://docs.julialang.org/en/latest/packages/packagelist/ http://docs.julialang.org/en/latest/packages/packagelist/) and using the PyCall package you can call any python package if you're missing functionality. Do have a look to see if what you need is implemented. Other than that porting existing MATLAB code is extremely easy since the syntax is similar in many cases. Disclaimer: I'm one of the core devs.
- shared4you 14y agoOne thing that is holding me back from porting my Matlab code to Julia is manual loop-unrolling. "It seems that, when using Julia, one needs to unlearn everything you’ve ever learned about vectorisation in MATLAB." [1]. Once the speed with Matlab-like syntax improves, I'll try again. [1]: http://www.walkingrandomly.com/?cat=59 http://www.walkingrandomly.com/?cat=59
- pygy_ 14y ago> Once the speed with Matlab-like syntax improves, I'll try again. The @devec macro should help, meanwhile: @devec r = a .* b + c .* d + a ... will devectorize the expression. It's not perfect, but it's definitely useful. https://github.com/lindahua/Devectorize.jl https://github.com/lindahua/Devectorize.jl
- nimrody 14y agoDo you feel 2D plotting is sufficiently developed to be useful at this point?
- shared4you 14y agoSufficiently developed? No way. Is it getting there? Yes I think. There are no plotting facilities part of the standard library, but external packages like Winston [1] are available -- but the syntax was verbose for my taste, so I let it pass. According to this SO question[2], there was some web-REPL plotting earlier but it is unmaintained now. [1] https://github.com/nolta/Winston.jl https://github.com/nolta/Winston.jl [2] http://stackoverflow.com/questions/14970817/plot-not-defined-with-julia http://stackoverflow.com/questions/14970817/plot-not-defined...
- asg 14y agoAgreed. If you are worried about the syntax for plotting, take a look at Gadfly, which aims to implements the Grammar of Graphics language for julia. https://github.com/dcjones/Gadfly.jl https://github.com/dcjones/Gadfly.jl
- buo 14y agoYou can also plot with Gaston, which is a frontend for gnuplot. https://github.com/mbaz/Gaston.jl https://github.com/mbaz/Gaston.jl Docs: https://bitbucket.org/mbaz/gaston/downloads/gastondoc-0.5.5.pdf https://bitbucket.org/mbaz/gaston/downloads/gastondoc-0.5.5....
- freyrs3 14y agoThe author seems to have glazed over quite a bit of the rather mature Python ecosystem simply because it lives in a general purpose language.
- mwexler 14y agoPerhaps, though he states "In this area, it’s unfortunately hard to dispute that general-purpose scripting languages like Perl, Ruby, and Python, have much better language and library support in this area than any of the data-specific languages." It's also highly likely that most analysts reading this article know lots about Python (and Ruby), some about R, and little to nothing about Matlab, Octave, or Julia, unless they have an engineering background. (Yes, some analysts do have backgrounds other than CS/Eng/Physics!) So, I don't think it's glazing as much as it's trying to focus on the new and not the "yet again, someone telling me how to use Python for data, when I want to know if there's something even better...".
- davemaya 14y agoI also have the impression that the research that went in this article is a quite light. R, ML, Python serve different purposes. Julia is cool but brand new and feel kind of out of place compared to the heavy weight that are the other three. The point the author makes about ML and R being black boxes is misleading. At least, R is open source and you can always look at the gut of the software, nothing is more easy.
- wiradikusuma 14y agoNice to know there's a JVM-based library (http://acs.lbl.gov/software/colt/ http://acs.lbl.gov/software/colt/). I remember in HN somebody mentioned something like this but for Scala, anyone?
- apl 14y agoYou may be referring to Scalala (now Breeze): https://github.com/scalanlp/breeze https://github.com/scalanlp/breeze
- shared4you 14y agoMehh.. the Colt library hasn't been updated for 9 years (Java 1.2 anyone?). Am not even sure it works with Java 7 that we have these days!
- lorenzfx 14y agothis was on hn at least once before https://news.ycombinator.com/item?id=4660544 https://news.ycombinator.com/item?id=4660544
- deleted 14y ago[deleted]
- deleted 14y ago[deleted]
- lorenzfx 14y agoThe only reason I can see to use Matlab is that you have invested heavily in it in the past. If not, I'd always use python instead. I claim it's not less "tuned for numerics" (with numpy) than Matlab. If you really need a Matlab like IDE, you should either give Spyder² [1] (I don't use it myself, but I know some Matlab-switchers that are quite happy with it) or IPython notebook a try. In my oppinion, the only thing Matlab has going for it are commercial extensions and (often exclusive) hardware support (and I don't mean computers). [1] http://code.google.com/p/spyderlib/ http://code.google.com/p/spyderlib/