Re:Matlab is oversold as a general-purpose language
by PeterisP on Saturday July 27, 2013 @10:01AM
(#6112891)
In academia I'd say most programs are run (when finished) 2-3 times - once on a smallish testset when you decide that this version is correct, second time on the full data that you have to produce results for the paper (and you don't care how long it runs as long as it finishes before the submission date); and maybe a third time if you get a larger/better dataset somehow.
Re:Matlab is oversold as a general-purpose language
by ghsalazar on Saturday July 27, 2013 @10:24AM
(#6112968)
It's sad, but you're right. In my field, I've found that there is little interest in experiment design when doing data analysis; you'd be asked to perform an analysis on eight or ten data sets, only because the people think that is exhaustive.
"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 (<10,000), and this statement could be greatly exaggerated; the developing time must be reduced in order to work in other projects. The usual approach is brute force.
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.