Hacker News new | ask | show | jobs
by knolan 3151 days ago
This a great resource for engineers to wean themselves off Matlab. Maintaining Mathworks licenses is expensive and they can be assholes about license usage. We recently purchased some additional toolboxes and all they could do was bitch about how we had deployed our existing licenses. If you don’t like it why do you allow it?

In addition, recent versions of Matlab have broken some common plotting tools, contourf in particular. Where this once produced elegant and light weight results it now generates a tessellated mess with tiny gaps between elements that look awful in paper manuscripts and baloon the file size for no good reason. The Mathworks response? It fixes some edge case.[0]

I find many of students we take on as interns often lack more than rudimentary coding skills making the jump to Python easier.

[0] https://uk.mathworks.com/matlabcentral/answers/162257-proble...

3 comments

In my work area, I was the first Python convert (from Visual Basic and a chain of other languages going back to 1981), and we hire scientists and engineers with no particular regard for their coding ability. We now have more than half a dozen people using Python at varying levels, with additional people mentioning that they're investigating it through online courses, home projects, etc.

A few of them have transitioned from Matlab. Even though we're a commercial business, buying each engineer a Matlab seat with packages is not a trivial expense, and asking for the money requires more management attention than we really need. With Matlab, it's: "You need Matlab for what? Why are you working on that?"

With Python, it's: "You solved that problem? Great."

But there are of course some caveats. Learning Python per se won't turn you into a professional software developer. A lot of people list Python on their resume's, and our interviewers are engineers and managers who only know that Python is a good buzzword to have. Learning Python ultimately translates into a widely varying ability to actually do anything. One of my colleagues has really taken to it, and has made an effort to develop disciplined programming skills beyond "coding." A couple others are using it for basic scripting, data analysis, and so forth. I've seen some horrendous code, and I'm torn about whether to intervene, when they are in fact getting useful results. Usually, I tell them about some things to learn on their own before they start their next project.

But that problem -- what really constitutes good programming skill for people who aren't formally trained, being hired by people who don't really know either -- isn't confined to Python.

I don't see a reason for MATLAB anymore now that there's Julia. It takes the good parts of the linear algebra syntax and throws out the rest.
The only reason, if you can call it that, is academic inertia. It’s is taught as part of most engineering degrees and is accessible enough for students to stick with it.
One can leave Matlab today with Octave.

Library support is perhaps better with SciPy, but Octave is free as in freedom, fast, works.

Octave works well but functions differ subtly from MATLAB and in case of graphics, there are large gaps. There’s also a significant performance gap.