Live data from Hacker News

Matlab is oversold as a general-purpose language

abandonmatlab.wordpress.com

21–30 of 104 posts

Re: Matlab is oversold as a general-purpose language

#21

The author is totally biased, but that doesn't mean he is wrong. If the bias offends you, you aren't the target audience. I personally have experienced several of the things he rants about, so I know his pain and now as a policy refuse to produce additional IP in that ecosystem. When friends ask me for help, I now send them a python script. The rage doesn't really come from MATLAB (every language has warts); the rage…

I have seen some horrible shit. Terrible, awful, fucked up stupid undocumented code. I have worked in psychophysics shops (go figure).

What makes you think it would be any better had they not used MATLAB?

I actually like MATLAB. It really excels when used as a glorified calculator and you can plug lots of things into it and have it 'just work' without much fuss. When I worked in a tutoring lab sometimes it was cool to have around because I could quickly whip up something interesting and visualize the whole thing to explain concepts. When I worked in the research lab (after I completely trashed the old application and started my own) I could hook up the computer to some cool hardware, run the experiment and do the statistical analysis all in one place. At my job now, people who aren't good at programming can use a computer to solve very hard problems.

I don't know why it's getting so much hate. I agree that it's not a good tool for every problem and that in the scientific community (and especially the psychology community) it is overused. But I don't really see why switching to another language would make things better.

Re: Matlab is oversold as a general-purpose language

#22
post #20

Mathematica, on the other hand, is brilliant. It's a wonderful language with wonderful libraries and functionality, and it's quite clear how to write robust code in it.

I'm not familiar with your commenting style. Is this straight up or dripping with sarcasm?

Serious. Super serious.

No, really, Mathematica is great. It can do some amazing things and it's really easy to write reusable code for.

Re: Matlab is oversold as a general-purpose language

#23
post #16

Earlier quoted context omitted.

I'm curious... is the matlabbing that happens at your work related to the simulink/realtime/control parts of matlab? Based on the other things you've said it sounds to me like that might be the case. Obviously I might be wrong. In any case, I've found that those parts of matlab can actually be used pretty effectively. I think the reason is that, even though matlab as a language is pretty crappy (IMO), these domains a…

We don't use simulink or anything like that - we just use the typical linear algebra stuff: Markov chains, finding eigenvalues, solving linear systems, etc.

try python. it is much more powerful in almost every sense. And it is not easy to write crappy code in python.

Re: Matlab is oversold as a general-purpose language

#24
This is the reason why people should migrate to general purpose languages that can also be used for computation, such as Python and pandas (Python data analysis library, http://pandas.pydata.org/), or languages that are modern and have been designed for such a purpose, like Julia (http://julialang.org/).

Re: Matlab is oversold as a general-purpose language

#25
1) Matlab is awesome for scientific computing and simulations.

2) Many Matlab users don't write any code but scientific code. They couldn't care less about how flexible python (or other language) is, when they already use and know Matlab.

3) Matlab doesn't make money from colleges or grad schools, they make money from industry customers. Of course the engineers and scientists of those deep pockets get trained at colleges and grad schools.

4) If you can write python, c++, or javascript, and if you keep publishing scientific code in that language even when Matlab is better suited, then it is possible that others will come with you. I am rooting for you. Just so you know, depending on the field, if you published your code in Matlab or R or whatever is the most popular for the field, you'd probably get more citations. Since academia is rounding error in Matlab's income, you will only be hurting yourself, if you chose not to use Matlab in a problem that it is best suited for.

5) Projects fail for many reasons. But, in your case, could the common denominator be the university rather than Matlab? In universities, it is hard (and I'd say unethical) to keep students for very long, so a research group may end up with a lot of code without owners if they are not careful. Good labs manage their projects, codebase, and hand-offs better.

Re: Matlab is oversold as a general-purpose language

#26
MATLAB is a tool that is unmatched in algorithm design. It isn't C, it isn't python, and it certainly isn't Linux. If you happen to work in an industry where you actually do math at your job, then you should probably use MATLAB. Otherwise, just don't use it and stop complaining.

Things for which MATLAB is not good:

-Systems programming -Web programming -Scalable business logic programming

Things for which MATLAB is good:

-Robust simulations -Computationally intensive desktop applications -Any computationally complex tool or utility -Mathematical data processing

Things for which MATLAB is the absolute best tool available:

-Design and rapid prototyping of DSP and GPU bound algorithms. -Windows desktop calculator for engineers -Prototyping communications system (Labview maybe better for very complex systems, but certainly not simple ones) -Design of financial, image processing, communications, signal processing, or control systems algorithms.

Re: Matlab is oversold as a general-purpose language

#27

The author is totally biased, but that doesn't mean he is wrong. If the bias offends you, you aren't the target audience. I personally have experienced several of the things he rants about, so I know his pain and now as a policy refuse to produce additional IP in that ecosystem. When friends ask me for help, I now send them a python script. The rage doesn't really come from MATLAB (every language has warts); the rage…

I have seen some horrible shit. Terrible, awful, fucked up stupid undocumented code. I have worked in psychophysics shops (go figure). What makes you think it would be any better had they not used MATLAB? I actually like MATLAB. It really excels when used as a glorified calculator and you can plug lots of things into it and have it 'just work' without much fuss. When I worked in a tutoring lab sometimes it was cool t…

> What makes you think it would be any better had they not used MATLAB?

Probably the most general cross-disciplinary reason MATLAB worsens an already bad situation is that it isolates scientists and engineers from people who are good at programming. When you seek out help for a particular problem, it's often a blind-leading-the-blind situation. How can you learn to program well if you've never seen a good piece of MATLAB code? Good luck finding good examples and role models to learn from if your programming universe is limited to MATLAB. Poor quality and practices proliferate because there is almost never anyone skilled reviewing changes and helping you get better. People just make a change and pray it still works.

Re: Matlab is oversold as a general-purpose language

#28

Earlier quoted context omitted.

I have seen some horrible shit. Terrible, awful, fucked up stupid undocumented code. I have worked in psychophysics shops (go figure). What makes you think it would be any better had they not used MATLAB? I actually like MATLAB. It really excels when used as a glorified calculator and you can plug lots of things into it and have it 'just work' without much fuss. When I worked in a tutoring lab sometimes it was cool t…

> What makes you think it would be any better had they not used MATLAB? Probably the most general cross-disciplinary reason MATLAB worsens an already bad situation is that it isolates scientists and engineers from people who are good at programming. When you seek out help for a particular problem, it's often a blind-leading-the-blind situation. How can you learn to program well if you've never seen a good piece of MA…

Interesting point.

From my own experience, though... I'm doubting you. I really don't think these people see a problem with what they're doing and wouldn't care even if they did - so why would they ask for help? You'd have to have someone sitting over their shoulder all the time training them (most colleges already have introductory MATLAB courses, so apparently that doesn't help much) - no one would like that arrangement.

But what you've identified isn't really a problem with MATLAB, is it? It's a problem with the culture of people who tend to use it. It's a real problem, but I'm not sure what can be done about it other than to try to get at these people while they're still young and learning.

Re: Matlab is oversold as a general-purpose language

#30
post #8

For something to be oversold... it has to be sold as something in the first place. I work at a company which uses Matlab extensively. I don't think anyone here views Matlab as a general-purpose language, even though you can put together some fairly fancy things in it. What we do view Matlab as is an exceptional domain-specific matrix manipulation and data visualization language. The IDE is exceptionally easy to use,…

I've been working with Matlab for years and have been quite intrigued by claims that SciPy is the new, better, Matlab. But every time I tried it, it felt like a cheap knockoff. For example, let's say I want to apply DCT to a matrix. In Matlab it's simply dct(A). How do you do that in Python? Well, there's scipy.fftpack.dct, but when I try it, it turns out it operates on the rows of A, instead of the columns. So I sta…

So, basically, you're panning the massive open collaborative effort behind SciPy/NumPy/Pandas because you can't be bothered to learn a slightly different and more flexible syntax? Because that's what it sounds like.
Post reply on HN