4 ms·
Matlab and Java seem to be doing alright
by unlinked_dll 7y ago
Matlab and Java seem to be doing alright
- qchris 7y agoBoth of them certainly have their uses, but especially for MATLAB, are they? I'm working as an engineer in academia right now, and even with all the legacy holdover of MATLAB, many people I know (including almost every undergrad project I've helped with) are either using R or Python, and I know I don't go for it unless I'm absolutely forced. And that's nothing to say for the researchers whose eyes light up upon hearing of Julia. Few of those people seem like they'll be advocates for buying expensive seat licenses if they become PIs down the line or join industry 5-10 years from now. Mathematica seems a little different because I don't believe there's currently a viable alternative, let alone a commonly used one.
- unlinked_dll 7y agoI mean yea, MATLAB is indispensable for the working engineer in controls or signal processing. Python is coming in vogue because of ML applications, but it's primarily used in the wild for scripting together builds and tests, which often are used for testing data generated by MATLAB models. I've never seen a workplace use R or Julia or list them on a job posting outside data science or academia. Julia in particular is missing major components that make it useable, particularly in signal processing. MATLAB also has the advantage of being useful as a CLI calculator for linear algebra, which is how a lot of engineers use it in their day to day. The REPL's of python and Julia are far too slow for that kind of work, frankly. Especially Julia. the JIT takes forever to warm up. It really doesn't fit into my workflow at all, and I've tried to force it. Also, Simulink.
- qchris 7y agoYour point about Simulink is fair--even the Octave version, Xcos, doesn't provide much of an alternative for doing good controls simulations. And while I agree that the Julia's JIT is pretty slow to come up, if I'm doing a lot of linear algebra work, I've typically just left a dedicated terminal open for it. I also haven't had much of a real speed issue with using a REPL or notebook, unless the data sets are unreasonably large. I think I disagree with your take on Python's most common uses, as well as the implication that it is just now "coming into vogue." I'm by nobody's measure a Pythonista, but my experience has been that it gets pulled in almost anywhere it can, from scripting to app development to scientific computing. I am curious about your experience with signal processing, though--how have you seen MATLAB used where Python wasn't or couldn't? I haven't done much in that area since undergrad/internships, and there I would have said that LabView was much more prevalent as a tool, or even Labwindows. At least for many of the common functions like FFT, I don't recall MATLAB being any more common than any other language for that sort of thing (although as I said, my experience there might not be representative).
- unlinked_dll 7y agoI meant python coming into vogue for signal processing/controls, sorry if that was unclear. And that's mostly anecdotal. There's a lot of internal tooling around MATLAB that would take a lot of work to replace with Python. Like for example, I know a company that has a verilog compiler for their matlab models. That's not going to be rewritten for python. MATLAB toolchains are also easy to maintain, since they're so damn expensive and locked down. Compared to python, which... isn't always straightforward. And like I said before, MATLAB is just a fancy and expensive calculator. It's number crunch first, script second, and language third. Julia and python have a different balance, at least to me. If I'm doing something quick and dirty, reaching for MATLAB is the absolute fastest way for me to do it, and the easiest to record. With python that's not true at all. PS: I don't think I've ever seen someone use Labview to write and debug a DSP algorithm, so we've probably experienced totally different industries.
- Archit3ch 7y agoIn my experience, the engineers who don't specialize in programming prefer MATLAB. Programmers will be comfortable in it, but will sooner reach for python etc. Much like Excel, it's easier to get people to program if you can convince them it's not programming.
- qchris 7y agoI definitely agree in this about Excel (some things I've seen some 'people who don't like programming' do in Excel are positive mind-blowing), but just haven't seen that same thing in MATLAB. That could definitely be just because of a limit of my own experience, though, and your point makes a lot of sense.