Hacker News new | ask | show | jobs
by Fuxy 4572 days ago
Kinda wish they would drop backwards compatibility once in a while.

I get why they don't but that's why PHP is just the most popular mediocre language.

There should be scheduled non backwards compatible releases for every language (say every 10 years) that's the only way they can improve and not just get replaced when better ones come along.

4 comments

PHP4 vs PHP5 - There was a lot of breakage at the time and was quite painful for many.
If you've seen any PHP4 codebases then you'd understand that the pain is necessary -- sweat now so you don't bleed later.

Universally, they were brittle and terribly insecure.

Chances are good that there will be a PHP 6 release in the near future (~3 years?) that contains a non-trivial amount of BC breakage. At least the idea has gained some momentum recently. But no branch / timeline yet ;)
Python did that, and now everyone loves to hate it.
I like Python3. They fixed all the inconsistencies in the language.

Sucks that some people are still stuck with 2.7 but it's definitely worth upgrading if you can.

Lua does it very frequently, and people generally don't get quite as upset about it. The popular LuaJIT compiler and interpreter even implements a language that is somewhere between Lua 5.1 or Lua 5.2 without matching either exactly.
I don't think that developers hated Python 3. They hated to having to rewrite/fix a ton of 3. party modules. For a long time the improvements in Python 3 simply wasn't worth the hassle of dealing with incompatibilities.
PHP deprecates features all the time... you're an idiot.
Not the same thing. PHP needs a total makeover not some minor tweaks.

And you're very rude please go away.

It's like how forest fires are a bad thing, but not having forest fires for a long time is even worse since the amount of underbrush just grows to the point where a massive calamity is unavoidable.

Backwards compatibility is a noble goal, but it should be done by add-ons, not core features.

Apple constantly throws out features to keep the core product leaner. Is this annoying and disruptive to the end users? Yes. It just means that new adopters, which is their constant goal, do not have to deal with this legacy.

X11 support was dropped, but you can still get it through third-party XQuartz. PowerPC code doesn't run out of the box, but there are emulators that work just fine.

PHP should show a little more confidence in itself.