Hacker News new | ask | show | jobs
by fleitz 5055 days ago
Because there are millions of man hours of PHP from FB and it will cost less than one hundred thousand to port that work to the JVM.

Yes the code will have to retested, but if you rewrite then you rewrite AND retest. Working code makes a great test suite, something you lose in a rewrite.

1 comments

Yes, that sounds fine (and I'm aware of the Spolsky article posted in another comment.)

But the fact is that a system of that size simply must already be split up into discrete services or components. (If it's not, then that should be their first priority. But I can't imagine Facebook is running everything they do out of one process).

So they could port each service/component one at a time, rigorously testing and improving performance as they go. Then they'd not only get the benefit of a better runtime, but also a safer, faster language. In fact, if they're anything like most companies I know, they're always in the process of rewriting one service or another to improve performance or features, whether in a new language or not. All they'd need to do would be to switch to the new language whenever they were refactoring existing code anyway.

Of course I can't make the decision for them, and they are rightly hesitant to do an entire rewrite. But it seems like they're going to fairly extreme lengths to stay with PHP.

> But the fact is that a system of that size simply must already be split up into discrete services or components.

Come on, they created Thrift, I think we can assume they use it?