4 ms·
I once got on a call with MATLAB compiler engineer and had him fix a bug in an afternoon. I should have written a blog post about it but it is too late, I have
by systemvoltage 4y ago
I once got on a call with MATLAB compiler engineer and had him fix a bug in an afternoon. I should have written a blog post about it but it is too late, I have very little recollection of the details. It was kinda awesome though. How often can you do just call up someone to fix the compiler. To be fair, I worked for a very large Fortune 50 company and had over 10k licenses of MATLAB.
Also, it is interesting that outside of SV and HN crowd, we thought MATLAB is awesome. We had all the toolboxes, there is a gazillion of them. Even obscure RF related stuff. You just can't find a library for something like a phased array analysis. May be you can, but it won't be as high quality and industry proven as this: https://www.mathworks.com/products/phased-array.html https://www.mathworks.com/products/phased-array.html
Another topic that we often understood is that when a jet engine is hoisted up for testing and you need to get something fixed or have a question about in next 2 hours, you need commercial software support to help you out. Gravity of situation cannot be understated. It is stressful. There is OSS software support, but MATLAB is on another level. Absolutely outstanding support. Companies like Apple and SpaceX rely on MATLAB heavily outside of software engineer orgs.
Overall, A+. Will use again.
- thrown_22 4y ago>How often can you do just call up someone to fix the compiler. To be fair, I worked for a very large Fortune 50 company and had over 10k licenses of MATLAB. Very often if you're paying upwards of $10,000,000 in licenses a month.
- linspace 4y ago> Also, it is interesting that outside of SV and HN crowd, we thought MATLAB is awesome. We had all the toolboxes, there is a gazillion of them. Even obscure RF related stuff. You just can't find a library for something like a phased array analysis. May be you can, but it won't be as high quality and industry proven as this: https://www.mathworks.com/products/phased-array.html https://www.mathworks.com/products/phased-array.html As a matter of fact I find most comments about Matlab here supportive. I actually do find Matlab to be a polished product, specially in the IDE and documentation part. In the end you use whatever saves you time, that's why most people that use Python have chosen Python: because of the libraries. I have personally found Matlab toolboxes quite simplistic for my own purposes. Most people, myself included, actually trust more that SW is used and deployed in the millions than any kind of support.
- wiz21c 4y agoon one side: > To be fair, I worked for a very large Fortune 50 company and had over 10k licenses of MATLAB. on another side: > Absolutely outstanding support. I think I see a pattern here...
- DNF2 4y agoIf you are basically using finished code, your own code is mostly a top-level script, and you mainly need polished functionality and professional support, then Matlab toolboxes and support are very good. But the language itself is primitive compared to OSS alternatives, so when you need to develop your own software on a larger scale, it falls short. There is of course a sliding scale between 'user' and 'developer' in any language, but I think that the closer you are to the 'user' end of the scale, the better Matlab looks. (BTW, I am a daily Matlab user, sorry to say.)
- galangalalgol 4y agoI don't find the language primitive at all. It just has a poor deployment story that consists of "autogenerate to hidious unreadable c c++ cuda or vhdl, or writ it again yourself". It is amazing the autogen even works, which it really does, but that code... But back to the language. I can typically do a line by line syntax change to get pytorch (julia is a but different but not too much). The resulting matlab sometimes runs faster too. If you avoid globals and write everything vectorized it is all really clean. OO code would be hidious, but I try not to use OO or goto in any language unless there is no other option. I like that arguments to a function are pass by reference unless you write to them, in which case it does a smart copy. Julia syntax looks different sometimes because you don't have to vectorize for performance as in matlab or python, in fact sometimes you shouldn't. All in all, if the deployment story was solved, I probably wouldn't be trying out Julia. In fact I still prototype in Matlab before implementation in pytorch or julia, its just eaier to get that first thing working.
- DNF2 4y agoOh, Matlab is pretty bad. Everything is a matrix, that's horrific (especially the Nx1 vs 1xN ambiguity which pops up all the time). No default argument values (and until recently, no support for keyword args, though they have a bad version now), meaning half your code lines are input parsing. Forced vectorization does the opposite of making code clean, it makes complicated code a lovecraftian mess (unlike Julia, which lets you vectorize efficiently at the top level.) Every function must live in an m-file(#$@&%*!) Everything in your path is in scope :( The varargin/varargout/nargout mess, with outputs specified in the signature line, instead of proper return statements. Also, for a language that requires vectorization for performance, there should really be a proper `map`, instead of the mess that is `arrayfun`/`cellfun`/`structfun`. Their arrays are super-limited, no mixed-element arrays (use cell-arrays!), so `[3, [4,5,6], 7]` is just concatenated, while `[3, [4;5;6], 7]` errors (and check out what `[3, "hello", 7]` does(!) or `[3, 'hello', 7]`) Poor support for integers, 2 is a double(!), and `int8(3)/int8(2) == int8(2)` (yikes.) Their OOP is actually not that bad, though it's slow. And their graphics system is pretty ok. Also annoying: now you have two types of strings, old-fashioned 'abc', and new-fangled "abc", which are very different, and sort-of, half-way work together. Though I think moving to the new strings is actually a good move, but painful now.