HHVM & Hack solved two big problems that made PHP difficult for Facebook and other large companies with large existing PHP codebases: Speed, and the lack of type checking
Now the PHP ecosystem is more mature – PHP 7 eliminated the speed differences between HHVM and PHP, and a bunch of static analysis tools find 95% of the bugs that HHVM's typechecker finds.
It makes sense that this would be an inflection point for the future of HHVM.
I hope that more features from HHVM make it into PHP core – especially property types and generics – because, whatever FB decides to do with HHVM, PHP is here for the long-haul.
It catches so much stuff, I've been using PHP since 2009 and it there was still stuff I was doing day to day it flagged me for, it's not only that it makes you write better code but it catches so much stuff that you no longer have to hold in your head (things like "Method throws an unhandled exception" etc).
In terms of "wow" (impact vs amount of effort required) it's second only to TypeScript in the last year or so for me.
Not a co-incidence that both tools add better type checking (amongst a lot of other useful stuff) to the languages I was stuck using.
Thanks for the recommendation – I've used PHPStorm when doing large refactors, and it's incredible.
Unfortunately, you can't force everyone to use it (especially given its price). That's why a bunch of people have written separate PHP static analysis tools:
> HHVM & Hack solved two big problems that made PHP difficult for Facebook and other large companies with large existing PHP codebases: Speed, and the lack of type checking
At what point do you stop using the hammer to put in a screw and just use a screwdriver?
Right, but you're still investing time in doing that switch. No matter which way you cut it, you're still replacing every single nail.
"We'll just update as we go", you say. That's fine, but it means that some parts of the house – normally the oldest and most integral to the entire structure - will use nails for years to come. And your developers will need to be trained in both hammers and screwdrivers to be able to work on the house in totality.
Sure, but if those nails are also causing structural instability, then it might be prudent to do the investment. It seems now, no one will be using your type of nail anymore either, so now you have to have them custom made at expense.
Sometimes those nails are doing just the opposite, they're holding the foundation together, and if you try and pull them all out the whole thing might collapse.
This is why I use Krazy Glue for everything, so I don't have to think about what's the nail, the screw and the hammer in this long-winded analogy about PHP and its shortcomings.
Now the PHP ecosystem is more mature – PHP 7 eliminated the speed differences between HHVM and PHP, and a bunch of static analysis tools find 95% of the bugs that HHVM's typechecker finds.
It makes sense that this would be an inflection point for the future of HHVM.
I hope that more features from HHVM make it into PHP core – especially property types and generics – because, whatever FB decides to do with HHVM, PHP is here for the long-haul.