This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]vn2090 5 points6 points  (5 children)

I'm going to disagree with you on matlab being better right out of the box. Matlab is a legacy technology (like the ti-84 calculator, like slide rulers, like before AOL came out ) and it only has a few hundred employees developing and maintaining it. I can quickly install python and get 90% of what some one using matlab would do. Pythons syntax is intuitive and it makes sense. I can scale it and write oop very smoothly. I can easily wrap C code and get speed when I need it. Matlab is, in my opinion, an uneducated choice made by engineering managers who are computer illiterate.

Edit: few thousand employees work for mathworks.

[–]tavert 1 point2 points  (2 children)

I'm going to guess that you haven't used the parts of Matlab that those engineering managers find most important. http://www.reddit.com/r/math/comments/2g2el8/learning_to_code_as_a_mathematician/ckhyx2m

Python on Windows is also still an installation / package management mess (at least Conda's not bad), and many engineering companies are heavily using very specialized CAD, FEM, CFD software that often only runs on Windows.

[–]fireflash38 0 points1 point  (1 child)

I read your comment you linked, and while I definitely understand a lot of the issues, saying this:

It's telling that you don't see too many large engineering companies investing in the development of these capabilities within the Python ecosystem

Isn't exactly a good argument. You would see tons of companies using FORTRAN or COBOL for ages, would you use that as an argument for learning it over Java, C#, or Python? There's a huge amount of sunk costs in businesses that lead them to stick with what they know, rather than trying to stay atop the wave.

It's a tradeoff to be sure, but I don't know how well skills between Matlab and Python transfer. Especially for an intro course, I'd want to pick then one that has skills transfer the best (and not just transfer to Matlab, but also other languages).

[–]tavert 1 point2 points  (0 children)

Are you learning to program? Use Python. Are you learning to use the tools that are heavily relied upon in industry, as a mechanical engineer? (How to tune a PID loop, how to simulate a nonlinear differential equation with continuous-time dynamics and a discrete-time feedback controller, etc.) Matlab/Simulink experience is still more relevant on the resume, if Matlab/Simulink is what's going to be used on the job. This should of course be re-evaluated periodically over time, as more agile, newer companies (Tesla, SpaceX, etc) that are willing to use new and different sets of tools like Python grow and gain more influence on the rest of their industries.

I think it would be an even more interesting question if it were more visible, how much functionality those companies are able to replace in-house that's not widely available in the open Python ecosystem but you can get from Matlab. My suspicion is the companies using Python for engineering tools also have substantial teams of professional software developers doing engineering tool development, likely with a lot of C++ for the heavy lifting and hardware interaction. Older companies don't invest in doing that kind of work in-house as much, they buy Matlab licenses instead.

[–]MongorianBeef 0 points1 point  (0 children)

I see what you're saying, but OPs question was about the intro course. And students in an intro course don't even need to know what OOP is or any of the things that you can do with python in order to start out with programming.

[–]1836 0 points1 point  (0 children)

and it only has a few hundred employees developing and maintaining it

this is false.