I'm pretty sure Matlab will last forever. There is a healthy company backing it with technology lock in from many, many companies where programming is not their core competence.
I'm in engineering and get the sense that python is going to make MATLAB nearly irrelevant, save maybe for some fancy GUI stuff like simulink. Of course numpy ode solvers can do the same thing as simulink but not as easily.
What kind of engineering are you doing? Do the companies you work for think of software dev as one of their core competence? I work in semi conductor manufacturing and currently employed with one of the largest equipment manufacturers. The technology lock in is fairly strong in this and other companies in this field because of 2 reasons
1. Legacy code is very valuable. Mistakes are costly and thus nobody wants to change anything once its proven to work.
2. They hire people who are already proficient in matlab. In all job postings it is written explicitly as a requirement. There have been and will be initiatives to move over to other languages but they always die out because the cost is monumentally high
I may have a skewed view. Your view is probably more representative of engineering in general. I do nuclear engineering for a relatively young advanced reactor company that does consider software development one of its things. We have the oldest of the old legacy codes for physics solvers (originally written in Fortran IV, now ported to Fortran 90, validated against experimental nuclear reactors that no longer exist) and we use Python for data management and automation.
10 years ago people were using Perl for data management and MATLAB for physics prototyping. Now we all use Python for both.
So basically you have a more outdated legacy and were able to move out of matlab because its just a shell. I can't explain why but that is extremely funny to me.
I don't think it will last that long. There are a multitude of countries who are yet to make significant contributions to software, they're going to write and rewrite tons of stuff, and countries who want some measure of independence fostering competitors like Yandex to Google. It's hard to imagine rising economies within Africa, Asia and Latin America will ignore the cost of proprietary/leased software they can write themselves. It didn't even take one century for competitors to emerge for Windows, MSSQL, Oracle, etc.
While I think you have a valid point here, I think matlab marketing department has caught on here and thus offering free student licenses. This is the same strategy employed by MS in at least India. Let them get it for free or give it for free. Also, companies which use matlab and develop a technology lock in are not after the language features, they are after the toolbox features. I hate matlab as a language as much as the next guy, but there isn't any competition for its toolboxes like antenna design, RF design, Risk management, OPC, instrumentation control (this one labview is another horrible but not alternative), etc.
While I have only worked in engineering industry for a few years, I have never seen any large scale, or for that matter any scale, use of octave. Are there example of companies replacing matlab with octave? I don't see that happening because of 2 reasons:
1. Octave does not have the inclination or man power to replicate all famous toolboxes of matlab. They are not even going for 100% compatibility, their home page says _many_ matlab scripts can be dropped in. A company with technology lock in will have such a large code base that I don't think octave will be able to handle it.
2. I don't think managers want to give away the ability to pick up a phone and shout at someone when something doesn't work. Even in my short career I have had this happen. Companies I worked for payed in hundreds of thousands USD per year in mathworks "support". Now, most of these support credits never get used, but at least the older managers like to have the option.
I work with a 20 years in development code base, maybe I should try and run some of it in octave one day.
Another thing about point 2, I think Julia did the right thing by establishing a company to promote the language. I see that tech managers are more open to it because of that. Can this be called the red hat effect?
> 1. Octave does not have the inclination or man power to replicate all famous toolboxes of matlab.
I am talking about long term. Problems you list are the result of lack of the resources. After many years, even small volunteer effort combines into impressive results. See GNU/Linux.
BLAS API will probably last forever but the actual implementation library people use today may not. I suspect the same may be true for vim in the very long run, maybe someone will re-implement it and it'll become more popular (like vi vs vim). I find it unlikely that that'll happen to Emacs since it's extremely complex, maybe we'll just move on before that happens.
Does the browser stack (HTML/CSS/JavaScript) count as software? If so, I don't see any of those going anywhere. The world wide web probably isn't going to be replaced anytime soon, and web browser fundamentals probably aren't going to change either.
Then again, programming languages and scripting languages in general seem like they'll last forever. Sites and programs may come and go, but the languages they're written in will probably be around for the long haul.
The Linux kernel. Just because it’s everywhere right now. Even in 1000 years when hardware has moved on, someone will want to virtualize/emulate some hardware that was running Linux.
I don't think much software will be useful even for one century because of competing implementations, changing requirements etc, but Github could be an archaeological treasure-trove one day.