4 ms·
MATLAB is fairly impressive for development. It works ok for communication. What are the areas for improvement you have in mind, and what are the alternatives I
by galangalalgol 4y ago
MATLAB is fairly impressive for development. It works ok for communication. What are the areas for improvement you have in mind, and what are the alternatives I should consider?
- adgjlsfhk1 4y agoThe 2 biggest problems with Matlab are price and lack of community. The price is an issue even if you can afford it because it makes it really hard to deploy widely since anyone who wants to run the code also needs to be paying Mathworks. This closely ties in to the community issue. Almost all Matlab libraries are proprietary (and written by MathWorks). If you find a bug, your only option is to file a report and wait 3 years for it to not get fixed. In an open source ecosystem, you can dig into the code and fix the problem yourself if you need to.
- galangalalgol 4y agoBoth fair points. And the alternative? I like Julia, but i still haven't found a workflow I like. I still typically prototype in Matlab and deploy in c++/cuda.
- adgjlsfhk1 4y agoI'm using Julia, but if I wasn't, I probably would either be using Python or C#.
- galangalalgol 4y agoI'm trying to work entirely inside the repl. Its not bad but for large stuff the lack of go to definition hurts, and there isn't an easy way to copy commands that worked into my module. I'll try vscode next. That is what I use for c++/c. Is there anything else I should try?
- adgjlsfhk1 4y agoI use VSCode+repl which works well for me (although the language server for Julia isn't as good as a C/C++ one). The one other workflow to look at is Pluto notebooks. They're similar to jupyter notebooks, but they track cell dependencies and automatically dependent cells, to guarantee that you maintain consistent state.
- galangalalgol 4y agoI worked in pluto for a bit. I should give that another shot. If there is an easy way that someone simply runs the script, and it doesn't try to fire off plots, that would be the ultimate in self documenting code.
- adgjlsfhk1 4y agoIdeally Julia would have a WASM backend, but that is one that would require someone to put a bunch of time into it.
- systemvoltage 4y agoI 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.
- sundarurfriend 4y agoThe community issue also means that code sharing is very limited compared to other languages. If it isn't in one of the Mathworks toolboxes (that you can afford), you'll probably have to end up at the Mathworks "File Exchange" site, where you take a look at the existing code that "solves your problem" (in a non-generic, buggy way), cry your eyes out, and end up implementing it yourself.
- JonChesterfield 4y agoI bought an individual license for MATLAB some years ago. Was ~$100 iirc. Deployment is presumably more expensive.
- dagw 4y agoIf you read the small print on that license it almost certain says something like "for hobby use only. Not for academic or commercial use". A MATLAB license that allows commercial use starts at around 2000$/user.
- melony 4y agoMATLAB is not. The surrounding engineering and tooling is. Simulink is worth its weight in gold.
- NicolasL-S 4y agoYou should check out this case study of migrating Simulink to Julia at NASA: https://www.youtube.com/watch?v=tQpqsmwlfY0 https://www.youtube.com/watch?v=tQpqsmwlfY0 From Simulink to Julia, his code went from 1000 lines to 50 lines and ran 15,000x faster.
- vasvir 4y agoWhere there is GNU Octave https://octave.org/ https://octave.org/ an Open Source MATLAB clone that works ok for me but your mileage may vary.