Live data from Hacker News

Matlab is oversold as a general-purpose language

abandonmatlab.wordpress.com

51–60 of 104 posts

Re: Matlab is oversold as a general-purpose language

#51
post #47

It's strange there're no single comment about Octave — http://www.gnu.org/software/octave/ It's free software and the language is 99% compatible with Matlab. Edit: and yes, Matlab is not intended for any generalisation/abstraction. It's a big scientific calculator with REPL. And complicated program in it still feels like big calculator

And it shares all of its weaknesses. So why bother when there are alternatives like Python or R available?

Re: Matlab is oversold as a general-purpose language

#52
post #47

It's strange there're no single comment about Octave — http://www.gnu.org/software/octave/ It's free software and the language is 99% compatible with Matlab. Edit: and yes, Matlab is not intended for any generalisation/abstraction. It's a big scientific calculator with REPL. And complicated program in it still feels like big calculator

As someone who loves Matlab but would rather use a free-software solution, I must say that Octave is not an effective replacement for Matlab. Matlab itself is just so much more feature-complete and polished, turning to Octave feels like going back two decades in technology.

Re: Matlab is oversold as a general-purpose language

#53
post #47

It's strange there're no single comment about Octave — http://www.gnu.org/software/octave/ It's free software and the language is 99% compatible with Matlab. Edit: and yes, Matlab is not intended for any generalisation/abstraction. It's a big scientific calculator with REPL. And complicated program in it still feels like big calculator

As someone who loves Matlab but would rather use a free-software solution, I must say that Octave is not an effective replacement for Matlab. Matlab itself is just so much more feature-complete and polished, turning to Octave feels like going back two decades in technology.

In what way is Matlab more feature-complete and polished? With respect to just the actual language Octave is nearly a 1:1 implementation of Matlab, which is an primary goal to stride for and maintain, any differences between the two is considered a bug even.

Re: Matlab is oversold as a general-purpose language

#54

Matlab was my first real programming language. I guess the real "power" of Matlab is the collection of toolboxes (which carry a separate price tag for each) and the graphing capabilities and built-in vector functions that are easy to use. I think it was conveniently entrenched because it was the cheaper than Mathematica(?), I can't be too sure but there weren't many alternatives with a similar set of features.

Mathematica is a lot cheaper than Matlab, in the US anyways. Mathematica excels at symbolic computing, where as Matlab excels at numerical computing. Mathematica happens to be poor at numerical computing, and Matlab happens to be poor at symbolic computing, although Mathematica is becoming better at its current weakness at least.

Re: Matlab is oversold as a general-purpose language

#55

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.

Mathematica is also incredibly well documented both online and within the program itself. The program supplied documentation and help is actually useful, something which is unfortunately not common in computing.

Re: Matlab is oversold as a general-purpose language

#56
post #23

Earlier quoted context omitted.

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

Last I looked, vector and matrix handling was extremely clunky and tacked on in Python.

You would probably use NumPy, which even has a page for people used to Matlab: http://wiki.scipy.org/NumPy_for_Matlab_Users

Re: Matlab is oversold as a general-purpose language

#57
Paraphrasing the Greenspun's tenth rule of programming:

"Any sufficiently complicated C or Fortran numerical program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of MATLAB/Octave/Scilab."

This could be called Gastón's corollary :-).

MATLAB, Octave and Scilab are like the UNIX shell but for matrices instead of text streams; this is they problem domain. If you can explain a problem with matrices and their operations, you can profit from MATLAB/Octave/Scilab. If you need more speed from your program, you should profile it and develop a mex-function in C or Fortran.

In academia and engineering most programs are developed to run at most thousands of times (The greatest problem that I find with MATLAB is that doesn't allow multiprocessing. In my last project, I ended developing several interpreters in Bison/Flex/C that ran concurrently in order to control a robot, but the main program was developed in MATLAB because it was simpler that way.

Re: Matlab is oversold as a general-purpose language

#58
Matlab is just another tool for your toolbox. Part of programming is choosing the right tool. I found Matlab extremely useful in college for graphing my lab work. Haven't had much use for it since. Did run across OpenTLD AKA predator. It's is a sweet CV app that is primarily written in matlab. https://github.com/zk00006/OpenTLD

Re: Matlab is oversold as a general-purpose language

#59
post #23

Earlier quoted context omitted.

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.

It's very easy to write crappy code in python. And that's why I love it - it doesn't try to protect the programmer from themselves, instead it lets you do what you want (for better or worse). Compared to languages like java...

Re: Matlab is oversold as a general-purpose language

#60

Earlier quoted context omitted.

> 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 arrang…

> But what you've identified isn't really a problem with MATLAB, is it?

Yes, it is. Everybody that knows what they are doing moves away from MATLAB as fast as they can. That's MATLAB's fault.

Except for teaching, mind you. The entire problem is that MATLAB is a great teaching tool, and a completely worthless tool for anything else. Guess what, lots of people stick with what they learn at school.

Post reply on HN