TL;DR: No. It’s not exactly the same situation.
A friend asked in the Egyptian Geeks Facebook group in Arabic:
Is Angular 2 a suitable name, or does it need a new name? Or am I just not getting the big picture?
Because when I learned about it, I found a lot of different, removed, and new pieces.
As ASP.NET 5 became ASP.NET Core 1, is it a good idea to pick a new name to show the big difference from Angular 1?
Or is this just my problem and the difference isn’t that big?
I thought that it is a logical question. Here is my take on it, as a non Angular team official or affiliate…
First, the question has a good point.
The “Core” naming came from Microsoft’s plans to make everything in the new ecosystem “Dot Net Core”-first.
Microsoft always tried to make the point for people that ASP.NET 5 is a “Version 1” product, that is neither neither as version-complete or as mature as ASP.NET 5.
This is way before the rename to ASP.NET Core 1.
Maturity And Meaning Of Upgrade
The Angular team has a different vision. They have confidence that they transferred all their lessons developing Angular 1 into the development of Angular 2. Which is why they really feel it is an upgrade.
They want people to move to Angular 2 automatically, not to feel that they are back into the “framework selection” process again.
I bet the Angular 2’s ideal world is one where they can stop Angular 1 support as soon as they release Angular 2. Except they definitely won’t, so that they don’t let they users down.
Naming Is Hard
As the ASP.NET team themselves always said, naming is a Marketing issue rather than a technical issue. It’s not simple. Everyone have different considerations when naming things.
Another example is Aurelia. Aurelia couldn’t be just “Durandal Next”, because the name “Durandal” has been related to failure in people’s minds (after a failed kickstarter).
It is the opposite situation in the Angular case. It’s hard for it to be called anything else (even something that has the word “Angular” in it), because it needs to be interpreted as an upgrade.
This is, again, not what Microsoft wanted to communicate. They wanted the new name to convey their message that the new ASP.NET framework is NOT an upgrade.
It does not the experience of 15 years of work on the existing ASP.NET framework and add to it in a newer version. It’s a different, modern, lean framework, that is still in year 1.
You can see the contrast clearly.
The Standard Answer
A few others have also pointed out that as per Semantic Versioning, a major version number is acceptable for breaking changes.
I see that there is a difference between “Breaking Changes”, and a “new API surface”.
But there is no standard that tells you what to do in that case, so, the use of major version number (which is technically correct) is still sort-of reasonable.
There are many many patterns in versioning software, as Wikipedia explains.
What do you think?
Let me know in a comment below, or in an email, or tweet.