|
|
|
|
|
by attractivechaos
2845 days ago
|
|
Older languages like C/C++, Java, Javascript and Perl5, regardless of their versioning schemes, have been mostly stable for decades. There were minor breaking changes from time to time but the language cores are largely compatible backwardly. Newer languages like Go is on a similar path. This is what we need for a programming language. How long will Julia keep its backward compatibility? Based on the history, I suspect that in five years, Julia will release v2.0 and break a lot of user code again. Hope I am wrong here. |
|
https://semver.org/
TLDR: if there aren’t breaking changes it won’t be called 2.0 it will be called 1.12 or something like that.
Go is currently planning their 2.0 release precisely so that they can make breaking changes. It was a big deal when they reached 1.0 for exactly the reason that they stopped making breaking changes. Ditto with Rust. We are following the exact same course. If it feels different, that’s because you weren’t using either language pre-1.0.
See also the Python 2 vs 3 transition and Ruby 1.x => 2. Comparing with Perl5 is ignoring the huge changes made in Perl2, Perl3, Perl4 and Perl5, not to mention Perl6.
That leaves Java and C++. Yes pre-1.0 Julia was more breaking than those two, ancient, industrial warhorses.