Hacker News new | ask | show | jobs
by mikeskim 3847 days ago
You can do all of those things in R except maybe Simulink with a GUI (at least not yet, maybe soon?), and you have the choice of working with multiple implementations. https://cran.r-project.org/web/packages/FKF/FKF.pdf https://stat.ethz.ch/R-manual/R-devel/library/stats/html/Kal... http://stackoverflow.com/questions/1738087/what-can-matlab-d... Unless you are doing something very specific and require a specific toolbox only for Matlab, you're better off just using R (or Python).
1 comments

I can't disagree more with a blanket statement like that. I would never recommend Python / R to the physicists and scientists that I work with. They don't know how to program well. The code they put out is usually garbage, hard to read, and fragile. Software development is not something they do. Backing up for them is emailing themselves a .zip file of their work and revision control is saving their DocXs and PPTs with different dates in the filename.

My point is, coding is not something they enjoy, or care about, it's just a means to an end. The environment and tooling around R/Python still cannot compare to Matlab in terms of ease of use, for the things that Mathworks (creators of Matlab) care enough about to write a toolbox or gui wizard for. The value is not in the language, or syntax, but in the libraries and tooling. I don't know a single Matlab user who doesn't make heavy use of the toolboxes Matlab sells.

And this is why I believe Matlab is not going to go away. If being free and flexible was all that mattered, Linux would have arrived on the desktop already.

After having worked with enough academicians, the code that I had to deal with was too agonizingly crufty for me to deal with that it made a huge influence over my decision to away from academia (and my subsequent drop in grades in school). I figured that if I had enough problems just dealing with the code, I couldn't imagine having to trudge through everything else that led up to that code. But it shattered my preconceived image of academicians being curious about everything and having a great deal of care and pride in the tooling they use - that I should look to them as reference rather than a bunch of people that dropped out of school for a quick buck, and that simply wasn't true whatsoever.

Matlab is going to be the COBOL of academia without some major groundbreaking research that invalidates or supersedes a great deal of research code, and given the community-consensus nature of so much research done I can't imagine quite something so disruptive happening.

If journals ever demand code that reviewers can read (as they should IMO; who knows whether hard to read garbage is actually doing what they claim it is in the methods section, and the call for reproducibility in science is getting stronger), then academics might be forced to learn to code. And then they might want to use a programming language that's more conducive to readable code.

I don't think MATLAB toolboxes are a huge obstacle. Maybe something like the Aerospace Toolbox is useful for people in aerospace. But for people in my field (neuroscience), people end up writing their own code for their various applications anyway, because the MATLAB toolboxes are too slow or too inflexible for their use cases. The source of inertia is that everyone uses MATLAB, so they end up writing the code in MATLAB. While it takes time to overcome an established userbase, I think it will happen eventually if the alternatives have substantial technical advantages, as I believe Julia does. It only takes a handful of technically skilled people to reproduce the majority of the code in common use, and if there are good reasons for those people to write that code in Julia and for others to use that Julia code, then Julia will eventually take over.

Open Source always wins in the end. Matlab is not a good solution due to its closed propitiatory nature and the need for science to be shared. We see the cracks in the walls on Journals and Research behind closed walls. The code and the tools for science also needs to be free from a closed system.