It's pretty rough on newcomers as well as devs trying to find docs and blog posts, but in contrast to naming it something else, it was pretty effective at establishing a user base.
It would have been a lot easier on the world if 1.x was the last version of anything called Angular and Google named the new thing FooBarJS.
But Google knows how software teams work. Names and versions are easier to evaluate than trying things out or running comparative analysis.
Teams hire "Angular" developers which usually means "1 or 2" even though it very much shouldn't.
Teams will set aside time to "upgrade to Angular 2" more freely than they would set aside time to "switch to a different framework, FooBar.js", even though with Angular 2, those are the same.
Even if teams would set aside time to "Upgrade to new framework", they're much more likely to do a alternatives analysis if it's not just a version number changing.
That said, I think this hurts developers and teams, and I think it's loosely nefarious, but it was probably necessary for Angular 2 to get the adoption it has today.
It would have been a lot easier on the world if 1.x was the last version of anything called Angular and Google named the new thing FooBarJS.
But Google knows how software teams work. Names and versions are easier to evaluate than trying things out or running comparative analysis.
Teams hire "Angular" developers which usually means "1 or 2" even though it very much shouldn't.
Teams will set aside time to "upgrade to Angular 2" more freely than they would set aside time to "switch to a different framework, FooBar.js", even though with Angular 2, those are the same.
Even if teams would set aside time to "Upgrade to new framework", they're much more likely to do a alternatives analysis if it's not just a version number changing.
That said, I think this hurts developers and teams, and I think it's loosely nefarious, but it was probably necessary for Angular 2 to get the adoption it has today.