> yet it remains unrivalled in control engineering
No, its usage is just declining slower in those areas because ppl don't want unnecessary change introducing unnecessary defects, esp since safety and reliability matters a lot for some equipments, and also engineers spend time on smth else than learning new languages and frameworks.
In 20 years Matlab will be as legacy as Fortran is now, still some left but mostly forgone.
what are you talking about? There's a lot of numerical code written (and actively developed) in Fortran today. If you are anywhere near numerical mathematics, you are running algorithms written in Fortran that somebody is maintaining.
> In 20 years Matlab will be as legacy as Fortran is now
Not if MathWorks keep offering discounts to universities for putting MATLAB in the courses, gotta get those undergrads "hooked" early before graduating.
I've been involved in some hires of new graduates in both engineering and physics. What I've noticed is that students are acutely aware of job market for programmers, and to a somewhat lesser extent, the relative status of "hardware" and "software." They're differentiating themselves into programmers and non-programmers. I've observed that anybody who can program well enough to do it for money, will eventually be doing so.
They're all exposed to Matlab (it's on every resume), but that could range from actually knowing how to program, to having been given some pre-written scripts to run in a class.
However, the ones who are inclined to program, want to learn a language that they perceive to be relevant to the software development job market. Some of them have gone so far as to take a handful of CS courses and are as up to date on good coding practices as the CS majors themselves. This even includes some students in traditionally non programming fields such as biology and chemistry.
Remember that it's usually easier to learn your second language, so if a student has the itch to program, there's a pretty good chance that they will have learned Python on the side by the time they graduate.
Programming languages are not heroin... people want a tools offering some features and they use whatever has them and is not too hard to learn a new one.
Matlab-class languages are <1 week for anyone smart to learn and usably prodactive at then it's a smooth learning curve up. They're not Scala or Haskell or enterprise Java frameworks...
When Julia gets all the advatanges currently in the Python ecosystem (and it's just a matter of time), it's game over. Ppl use Matlab instead of Python bc Python is weird and slow at many linear algebra stuff... AI/ML ppl are OK with Python bc they rarely write low level numerics code and when they do it has to run on stuff other than regular CPUs so it's C anyway.
If Matlab looses (fairly) we all win. But Mathematica/Wolfram is a different thing... there's all the symbolic computing stuff and the idea of integrating access to a general real-world-knowledge-DB into the language itself in there that will take decades to re-invent...
Not really the reality imho. I was in a cursus where mostly Matlab were taught 10y ago, while I was already programming on the side in Python/R. Most of the students realized after their master that neither academia nor private company were using Matlab and because programming was not the focus, they had a really hard time to transfer their knowledge to any other programming language. Not SW/SE/Dev here, just scientific/engineer cross-over students.
After raising their voices, Faculty finally switched from Matlab to Python for those courses because what matters was your number of hire after their master not to get a deal for a software nobody uses besides two old professors.
And in general, the more academia moves away from private solutions (be it STATA, ArcGIS, Matlab, SAS, etc), education will move from it also.
(Belgian University)
Issue is most such codes are written in C and C++. Also anything else usually lacks native multidimensional arrays, element-wise array operations, and parallel programming facilities, let alone raw performance.
> In 20 years Matlab will be as legacy as Fortran is now, still some left but mostly forgone.
This is a joke, right?
In many academic disciplines that involve numerical work, the amount of Fortran code in use today greatly exceeds that of any of the rivals.
Professors were forced to use Fortran by their advisors when they were in school, so most of their code is in it. These professors are not going to allow their students to reinvent any wheels. And the cycle continues. To give you an idea of how extreme this phenomenon is - almost all the Fortran code out there in academia is still in Fortran 77.
No, its usage is just declining slower in those areas because ppl don't want unnecessary change introducing unnecessary defects, esp since safety and reliability matters a lot for some equipments, and also engineers spend time on smth else than learning new languages and frameworks.
In 20 years Matlab will be as legacy as Fortran is now, still some left but mostly forgone.