Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It's funny how so many development communities feel like they need to start over and create an entire new framework.

Perl 6, PHP 6 (which was never released), the disaster that is Python 2/3 (many standard libraries were renamed breaking a ton of libraries, and now Angular.

PHP, which is hated by many here because it isn't hip, at least allows you to run 4 code on the 5 interpreter with no issues.

When Microsoft did this with VB back in the 90s, which caused DLL hell, the community raged. Now it's a normal part of development.

I feel like it's only about the money. Many open source communities make money on support only and can charge companies lots of money to make the shift. It also means tutorials, books, speaking engagements, etc.



> PHP [...] at least allows you to run 4 code on the 5 interpreter with no issues

Speaking as someone who at one time made a living porting PHP4 code to PHP5, that's not even the same ballpark as reality. No non-trivial code base made that transition without effort. But it is of course possible to write code that runs on both versions, which may be the source of the confusion.

Guess why all cheap web hosting companies only offer ancient versions of PHP? "I downloaded $crap from teh Internet and it doesn't work" is nobody's favourite idea of customer support.

If I were to think of a scripting language (to exclude C) that has kept backwards compatibility well, I think Perl 5 has done a decent job. Fifteen year old code bases is at least within the realm of possibility to get up and running, and the language has evolved quite a bit in the meantime.


Yeah I remember occasions when PHP x.y.z patch releases would break existing code.

Sure it can be possible to run PHP4 code on PHP5, but only AFTER you have tested and debugged it on the newer PHP version.


It's definitely a risky move as your examples demonstrate, but aren't most of the Angular core developers working for Google? I don't think they have an interest in generating more consulting work.

Angular was arguably the state of the art for a while. I suspect the core team would rather pursue that position again than spend years focusing on legacy support.

I'm not terribly familiar with the perl, php, or python communities, but my understanding is that a lot of the changes made were to "fix" things and "clean up". Aka, there wasn't a "I need this to get my job done" reason to upgrade. On the other hand, client side development has progressed rapidly since Angular 1.0. Things like isomorphic javascript just won't work with the old APIs.


There is a big, big difference between Angular and the other frameworks you mentioned. Angular is part of a larger ecosystem (i.e. JavaScript) that is going through massive changes on its own (i.e. ES6 and all the other new JavaScript goodness). Angular can stand pat and do nothing while the world around them changes, but that is probably not the best strategy either.


PHP breaks things all the time (just check the migration guides for any release), but the difference is that they break only what they must, and deprecate things in a timely way so you can evolve your codebase instead of having to rewrite it. Other platforms tend to see a broken piece that needs replacement as a good opportunity to redesign everything else as well, even the stuff that worked fine, and don't put as high a value on easy migration paths.

Ofcourse, that's also one of the reasons PHP has so much ugliness still.


You have no idea what you're talking about.


Yes, yes I do. All of the examples I gave come from actual experience. You also added absolutely nothing to the discussion.


[flagged]


You're not really adding anything to the conversation. If you even did a cursory search as to the motivations behind why Angular 2.0 was a rewrite you'd learn that it has everything to do with compatibility with web components and ES6 and nothing to do with "money" as you say (I'll save you the two seconds of effort: http://eisenbergeffect.bluespire.com/all-about-angular-2-0/). In fact, it was a huge blow to Angular when they announced they would be introducing such sweeping changes to the framework. Remember that the web is a constantly moving target and assumptions you make today may no longer be relevant two years from now.


Even if the underlying components changed, they could still keep angular backward compatible. They choose not to.

It's the same with many other frameworks and languages. Most of these drastic changes have to do with the politics of the community

I still disagree that it doesn't have anything to do with money. You can't deny the fact that the majority of these communities make money on books, speaking engagements, and consulting.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: