5 ms·
I use MATLAB for 90% of my day to day work, for a combination of reasons - 1. Historically it is what has been used at my firm. We have a lot of code already w
by crnt2 11y ago
I use MATLAB for 90% of my day to day work, for a combination of reasons -
1. Historically it is what has been used at my firm. We have a lot of code already written in MATLAB, interfaces to internal apis, external data providers etc. Everyone at the firm understands MATLAB code.
2. It really is very good for numerical work - both in terms of speed, and clarity of the code (much better than Python and R for clarity - probably on a par with Julia).
I also used KDB+/Q very heavily in a previous job. It is blazing fast in its domain (financial time series) and enables extremely rapid prototyping. The fact that it is a combined query language / programming language is very appealing for data-focused research. I wouldn't want to write a production system in it though (though I know people who have done!)
When I was studying for my PhD I wrote a lot of Fortran 77 and IDL. Essentially because my supervisor used IDL and had a lot of code written in it, and because we were using an external tool which consumed Fortran 77 files as input.
- arcanus 11y agoI also dislike R. Strongly disagree with the argument that MATLAB is more clear than python, however. Have you tried numpy/scipy? Provides excellent performance and very powerful APIs. I've always found that a great deal of the MATLAB syntax does not gel with my expectations. "./" vs. "./" for instance, or using parenthesis to address array elements. I would much prefer a truely OO capable language, as well.
- marcell 11y ago> "./" vs. "./" Is this a typo? It seems like two instances of the same thing
- arcanus 11y agoOoops -- './' vs. '/.', e.g. right array vs. left array
- TTPrograms 11y agoIt doesn't seem like '/.' is an operator. Do you mean './' vs '.\'? That tends to match my intuition.
- wallacoloo 11y agoThe real killer about Matlab is its one-based indexing. Makes arithmetic index operations look ugly (and unintuitive) as hell.
- TTPrograms 11y agoIt's one-based indexing combined with length being defined as the number of entries, IIRC. There was a blog post on here a few months ago that explained how you need one or the other to minimize the need for off-by-one corrections, though I can't find it now. I'd consider switching to numpy (ignoring organizational issues) if it didn't take 10 times as many characters to describe all the operations. If you're spending you're day doing algorithm development having least squares and every linear algebra operation you can think of as first class citizens is a huge plus for readability and code cleanliness.