5 ms·
I've regretted that Octave hasn't done for Matlab what R did for S. I understand some of the cirumstances that made this happen, but I'm deeply saddened of the
by jordigh 11y ago
I've regretted that Octave hasn't done for Matlab what R did for S. I understand some of the cirumstances that made this happen, but I'm deeply saddened of the entrenchment that Matlab has in scientific computing. It's getting chipped away little by little at the edges by Python, and to a lesser extent by Julia, but Matlab still is strong. And yes, some uses of Matlab can be replaced by R, but overall the two packages target different problem domains.
I'm taking a break from Octave, but I plan to come back to it and take Matlab head-on, not chip away at the edges.
- monksy 11y agoCompared to Matlab. I liked Octave a lot. The kOctive gui was great.
- cwyers 11y ago> I understand some of the cirumstances that made this happen What are they?
- jordigh 11y agoThe story has fallen off the front page, so there's no point in writing a detailed response to this. If you're still interested, email me at jordigh@octave.org for my analysis.
- rocssa 11y agoI think the main problem octave faces is matlab's libraries (such as simulink) which have no comparable open source or even free alternatives, that and writing matlab code sucks for anything bigger than a 50 or 100 lines. Anyone that isn't using those could probably switch to octave with few issues but last time I checked some functions were starting to differ (see eig) Octave is nice when you really need to have matlab compatible files but don't have a matlab license but now everyone that I know in the sciences if they are not using matlab and don't need to use fortran/c/c++ they are using python because why keep the matlab syntax if you can gain so much by switching to another language.
- vt240 11y agoI used OpenModelica a number of years ago as a simulink replacement on a project which couldn't afford MATLAB. https://openmodelica.org/ https://openmodelica.org/ EDIT: Also, although it's not opensource, I had used Mentor SystemVision eons ago in college. It now has a free web interface. I haven't tried it, but honestly, what could be worse than DxDesigner ;-) https://www.systemvision.com/ https://www.systemvision.com/
- outlace 11y agoI think Julia stands a really good chance at "chipping away" Matlab to a significant degree once it gets to a stable version 1.0 The syntax is close enough to Matlab to make the switch fairly easy, its got the performance, and the community has already developed a lot of cool scientific computing libraries even though each new version has breaking changes.
- plinkplonk 11y agoI think when Julia gets to 1.0, Matlab will begin to decline in use. I also think MathWorks is well aware of this "threat". The next few years will be interesting.
- datashovel 11y agoI'm optimistic about Julia also as a general purpose programming language. It seems to have taken a lot of good features from a lot of different languages, and managed to do it in a way that feels natural to me.
- KingMob 11y agoAs someone who had to use a ton of Matlab in grad school, Julia's (and Python's) biggest issue in overtaking Matlab is replicating the large collection of battle-tested add-ons that Matlab offers. Matlab is a crappy language, but a productive environment.
- sandGorgon 11y agowhat are the problem domains ? Do you think something like Python Pandas... and especially Jupyter/IPython can replace it ?
- yen223 11y agoI wouldn't be surprised if it did. Lots of universities are slowly switching to Jupyter as the primary computational environment.
- B1gred 11y agoPython has a steeper learning curve and is not as curtailed to simple data analysis. Many use Rstudio (an ide) and use the import data, and other tools to make then skill entry even lower. Also, mathematicians and statisticians think functionally and the general attitude in python is to do object oriented programming while R is strictly functional programming with a little bit of object programming.
- PlotlyThrowaway 11y agoI'm a little at odds on this--for production quality analyses, (and only for analyses) R is excellent. However, in my experience, for the data munging required as a preliminary to the analyses, R is worse than bad. It's as if satan himself designed a language. I find that what then happens is this: data scientists/statisticians/[your favorite word here] become reliant on programmers to clean/format the data to do the analyses. This is all fine, but those same scientists are then put off learning python, where they could do all of their own munging, and probably 95% of the analysis they need to do, and where they could further add value by writing programs that are easier to production-alize. Job security for those who know how to write production code, I guess.
- jasonpbecker 11y agoI couldn't disagree more. R is great at munging pretty much everything but unstructured textual data. The tools are definitely behind Python if you're dealing with literal written documents. I don't know anyone who considers themselves a "data scientist" of any sort that doesn't view their job as 80% or more data wrangling/munging/cleaning. I write production ETL processes in R at my current job. AMA.
- joelthelion 11y agoNumpy/Scipy (and Julia, maybe) are taking this role. There's really no reason to use Matlab these days.
- siscia 11y agoThere are a lot of reason to use Matlab these days. A lot of package are built from matlab and not for Python, if you are a PhD student you want to use those package, not write your own, if you really really need to write some software you want to write it on top of something that already exists... It is really sad, but it is the reality...
- KingMob 11y agoIf only that were true. There are many, many reasons to keep using Matlab, mostly toolboxes and decades of software written on top of it. As I said in another comment, Matlab is a bad language, but a productive environment. In grad school, if I wanted to do my own EEG connectivity analyses, I could just include the Signal Processing Toolbox, the Stats Toolbox, and crunch my own numbers. Or, if I wanted to do a more standard analysis of my fMRI or EEG data, I would turn to the world's most popular open-source toolkits (SPM and Fieldtrip), both of which require... you guessed it, Matlab. The only place I ever found Matlab's libraries deficient for my needs was in machine learning. (I ended up doing an SVM-based spotlight fMRI analysis in Python.) There's a lot of lock-in and quality toolboxes around Matlab, Python/Julia won't knock it over yet, though I wish them the best of luck.
- sampo 11y ago> I've regretted that Octave hasn't done for Matlab what R did for S R was much more programmable that the other systems (except S) in that time -- while the R language is not pretty, the scripting languages in SAS, Stata etc. were much worse. So R provided an improvement in people's workflow. Whereas Octave is just a free version of the same language as Matlab (with some small improvements). So, switching from SAS, Stata, SPSS etc. to R provided an improvement in productivity, but switching from Matlab to Octave does not.
- jordigh 11y agoYou can make the same comparison between Fortran and Octave as you do betwenn SAS and R, and Octave at first did not even aim to be Matlab-compatible. Matlab compatibility came years later, as people using Matlab requested it. This is not the reason for why Octave has not overtaken Matlab. Maybe I should write a blog post about it.