Box's HHVM Migration
code.facebook.com
code.facebook.com
My biggest problem still is getting xDebug working with HHVM, something that after a few days of trying I have given up on once again (as of a couple of months ago). Unfortunately, a procedural or OOP language without a proper debugger (hphpd doesn't count) is pretty useless for real-word development. I know the HHVM team is constantly working on improving the ecosystem, so hopefully at some point, we'll have a real debugger that runs without crashing. Once that happens, I can definitely see rewriting the sections of the app that use extensions not yet ported to get the app ready for deployment on HHVM. Right now, the only reason we haven't done so is that we do want to compare both HHVM and PHP7 to see which one will yield the best performance.
There is some information there (with emphasis on Scala, obviously): http://www.typesafe.com/resources/case-studies-and-stories/n...
Or is it the typing and other infrastructure you wanted?
From what I understand JRuby/Truffle is closing the gaps at a nice pace (your recent tweets on constant folding is even showing that you're aiming not only for feature parity but for feature parity AND MOAR and that's awesome), but with existing applications and associated gems and all the implication of having to switch my Ruby to another slightly more exotic one, the thought is currently a source of anguish (because a lot of the existing ecosystem is extremely tied and tailored to MRI for better of for worse). I'm simply waiting for the time where I can just replace a line in my Gemfile and reap the benefits.
That being said, I would like to thank you for all the efforts you're putting in this, the blog entries, the Ruby Bibliography and all its promising research on making the Ruby ecosystem better, the benchmarks and overall collaboration with the folks at JRuby and I hope we get to see lots of good things in the future from your end.
The JRuby wiki states: Truffle is a research project, there is no expected release date
Overall, it's an exciting project, "Ruby is slow" is an overused meme that's caused a lot of issue for me.
Twitters problems are architectural, telecoms-scale ones. Rails is unlikely to ever be suited for problems like that, and it feels like any attempt to make it so would neuter some of the benefits it offers elsewhere.
On the other hand, PHP is just a language and doesn't enforce architectural style. A much better option for this sort of thing, IMO.
I think a big issue was at the time mainstream ruby was 1.8 and upcoming versions 1.9/2 would later replace and create a minor python2/python3 type issue where many later organizations using ruby 1.8 did not upgrade to 1.9/2 not until just recently, causing a kind of stall in patches contributions to what is now 2.2
That said many of the ideas from twitters work and others is now in ruby.
Lots of Ruby code can even be compiled as is.
Not 1:1 feature parity, of course, but a lot of people who were testing/considering a move to HHVM/Hack have reconsidered now that PHP 7 fixes many of the language's pain points.
Competition is good!
[1] http://kazanir.github.io/profiling/
[2] http://hhvm.com/blog/9293/lockdown-results-and-hhvm-performa...
It does give you some level of sanity (aka types). It also gives you tooling (autocompletion, ability to do basic code refactoring, etc.).
I'm not looking for a language battle here, but is inventing your own language based on your favorite language to bring common features from other language really such a good idea?
I have experienced both cases: a conversion of a large codebase from php to Hack and also a conversion from php to rails. Pick the right tool for the right job.
It worked wonders for C++.
PHP 7 also includes some serious performance improvements, contextual parsing, anonymous classes, combined comparison operator, null coalese operator and tens of other new features.
Also, preliminary reports indicate that PHP7 is near parity in speed/memory usage with HHVM (and in some cases exceeding it).