If you can read this, either the style sheet didn't load or you have an older browser that doesn't support style sheets. Try clearing your browser cache and refreshing the page.

(Wired)   How twistedly evil is Facebook? To make Facebook run faster they created a stack based VM firmware specific to PHP and Facebook and then compile Facebook PHP down to this VM which then runs on x64. Because ... PHP   (wired.com) divider line 30
    More: Strange, PHP, Facebook, virtual machines, Drew Paroski, system software, vmware, source codes, CEO Mark Zuckerberg  
•       •       •

1788 clicks; posted to Geek » on 10 Jun 2013 at 5:03 PM (1 year ago)   |  Favorite    |   share:  Share on Twitter share via Email Share on Facebook   more»



30 Comments   (+0 »)
   
View Voting Results: Smartest and Funniest

Archived thread
 
2013-06-10 04:01:28 PM
Combining all the performance of Java with all of the elegance of PHP!
 
2013-06-10 05:11:14 PM
Eww. PHP!
 
2013-06-10 05:15:20 PM
Fogcreek software does something similar with fogbugz.
 
2013-06-10 05:17:05 PM
So, basically, people can go make stupid-ass bets with Facebook Engineers and they'll spend years on the company dime proving you wrong?
 
2013-06-10 05:27:04 PM
They should have just done a rewrite and used Lift or Rails...
 
2013-06-10 05:30:45 PM
A PHP hypervisor?  As an infrastructure guy that doesn't see a lot of webdev activity it never occurred to me, but I suppose it was only a matter of time.  It actually kinda surprises me that there isn't a stock hypervisor creation platform available to developers today.
 
2013-06-10 05:31:30 PM
> they created a stack based VM firmware specific to PHP and Facebook and then compile Facebook PHP down to this VM which then runs on x64.

Well, duh-doy!
 
2013-06-10 05:54:36 PM
How many millions would it take to take this VM and turn it into a Facebook Instruction Set machine?

Hardware whose instruction set is this PHP friendly stack machine?
 
2013-06-10 06:03:20 PM
PHP is, quite arguably, the least thought-out language ever created... and then they added A FARKING VM.
 
2013-06-10 06:05:35 PM
It seems like a dumb idea, but if they dedicated 10 senior engineers to the problem and it took three years for them to deliver a product that outperformed production, that was probably an investment of about $10 million from Facebook.

Facebook's revenues are about $12000M per year.  This project was spare change to them.  Depending on just how much of a performance improvement it enables, it's possible that by the time this system gets deployed across the entire production environment, it's already paid for itself.

The tragedy here is that they could have been spending their resources on an even better solution that wouldn't have been such a giant WTF, and they didn't.
 
2013-06-10 06:06:46 PM
"Apple is about polish. Google is about scale. Microsoft is about, well, 30 years old," says ex-Googler and Box vice president of engineering Sam Schillace. "But Facebook is about innovation. They're not necessarily optimized for elegance. They're optimized for innovation. The idea is to crush everyone with pure experimentation and velocity."

Such a euphemism-tastic way of saying, "yeaaaaa, our stuff is really unpolished and doesn't scale worth shiat."
 
2013-06-10 06:08:23 PM
i2.kym-cdn.com

Fine, Fark. REMOVE THE IMAGE.
 
2013-06-10 06:09:41 PM

ProfessorOhki: "Apple is about polish. Google is about scale. Microsoft is about, well, 30 years old," says ex-Googler and Box vice president of engineering Sam Schillace. "But Facebook is about innovation. They're not necessarily optimized for elegance. They're optimized for innovation. The idea is to crush everyone with pure experimentation and velocity."

Such a euphemism-tastic way of saying, "yeaaaaa, our stuff is really unpolished and doesn't scale worth shiat."


If today's WWDC told me anything, the quote should have been "Google is about scale, Microsoft is about polish, and Apple is about copying the other two."
 
2013-06-10 06:12:38 PM
PHP has got to be the worst language ever.  It is a cobbling together of pieces of different languages with crappy syntax.  It needs to be aborted.

/C++ to rule them all. C++ to pwn them. C++ to bring them all, and always shame them.
 
2013-06-10 06:19:55 PM

Brontes: PHP has got to be the worst language ever.  It is a cobbling together of pieces of different languages with crappy syntax.  It needs to be aborted.

/C++ to rule them all. C++ to pwn them. C++ to bring them all, and always shame them.


C++ is decent. It has been said about Perl, "Perl is worse than Python because people wanted it worse", and to an extent, I think that applies to C++ compared to other modern languages. It's not the pile of suck PHP is, but there are certainly some things that got screwed up in the excitement over a C-based (and somewhat C-compatible) object-oriented language. Then again, there aren't any good alternatives to C++... D is not nearly mature enough.
 
2013-06-10 06:32:38 PM
PHP: it works, biatches.
 
2013-06-10 06:45:01 PM

Marine1: Brontes: PHP has got to be the worst language ever.  It is a cobbling together of pieces of different languages with crappy syntax.  It needs to be aborted.

/C++ to rule them all. C++ to pwn them. C++ to bring them all, and always shame them.

C++ is decent. It has been said about Perl, "Perl is worse than Python because people wanted it worse", and to an extent, I think that applies to C++ compared to other modern languages. It's not the pile of suck PHP is, but there are certainly some things that got screwed up in the excitement over a C-based (and somewhat C-compatible) object-oriented language. Then again, there aren't any good alternatives to C++... D is not nearly mature enough.


No doubt there are things wrong with C++.  Both C# and Java try to address them, but the solution is sometimes worse than the problem, especially when it comes to high speed computing and time critical applications.

The next standard of C++ needs to work a bit more to address some of the issues with memory fragmentation (getting better), make compilers work together (common Microsoft and GCC, let's get it together!), add some really nice cross platform GUI tools (Qt is a damn good start) and things will be looking pretty bright for at least another 10 years.
 
2013-06-10 07:17:00 PM

Marine1: ProfessorOhki: "Apple is about polish. Google is about scale. Microsoft is about, well, 30 years old," says ex-Googler and Box vice president of engineering Sam Schillace. "But Facebook is about innovation. They're not necessarily optimized for elegance. They're optimized for innovation. The idea is to crush everyone with pure experimentation and velocity."

Such a euphemism-tastic way of saying, "yeaaaaa, our stuff is really unpolished and doesn't scale worth shiat."

If today's WWDC told me anything, the quote should have been "Google is about scale, Microsoft is about polish, and Apple is about copying the other two."


Come back after you've seen today's E3 conference too :)
 
2013-06-10 07:47:16 PM
So this is bad because you lazy farks suck at PHP?
 
2013-06-10 08:57:01 PM

SacriliciousBeerSwiller: So this is bad because you lazy farks suck at PHP?


PHP sucks at PHP.

http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/

/You can tell the year a company('s web presence) was founded by the particular WTF technology they're based on.  2000 is Java, 2005 is PHP, 2010 is Rails
 
2013-06-10 10:44:38 PM

meyerkev: SacriliciousBeerSwiller: So this is bad because you lazy farks suck at PHP?

PHP sucks at PHP.

http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/

/You can tell the year a company('s web presence) was founded by the particular WTF technology they're based on.  2000 is Java, 2005 is PHP, 2010 is Rails


That page is certainly lacking in concrete examples of WTF he's talking about.

PHP is suitable for its purpose and easy to pick up on -- and if you get stuck figuring out how to do something a quick Google search almost always finds an answer.
 
2013-06-10 10:56:28 PM
The sad thing is, for the most part, C++ just enables people to write crappy C. I've seen try/catch/throw blocks everywhere (aka 'goto'), defining variables wherever, etc... In the hands of a seasoned engineer, it's a great tool. For most people, it's a dangerous weapon for writing craptastic unmaintainable code.
 
2013-06-10 11:02:41 PM

ProfessorOhki: Marine1: ProfessorOhki: "Apple is about polish. Google is about scale. Microsoft is about, well, 30 years old," says ex-Googler and Box vice president of engineering Sam Schillace. "But Facebook is about innovation. They're not necessarily optimized for elegance. They're optimized for innovation. The idea is to crush everyone with pure experimentation and velocity."

Such a euphemism-tastic way of saying, "yeaaaaa, our stuff is really unpolished and doesn't scale worth shiat."

If today's WWDC told me anything, the quote should have been "Google is about scale, Microsoft is about polish, and Apple is about copying the other two."

Come back after you've seen today's E3 conference too :)


Saw it. Project Spark. Want.
 
2013-06-10 11:14:22 PM

neilbradley: The sad thing is, for the most part, C++ just enables people to write crappy C. I've seen try/catch/throw blocks everywhere (aka 'goto'), defining variables wherever, etc... In the hands of a seasoned engineer, it's a great tool. For most people, it's a dangerous weapon for writing craptastic unmaintainable code.


The most horrible code I've seen has been on large projects that use C++, especially if their leads are terrible C++ developers and if their is no money from management for good development practices or training.
 
2013-06-10 11:17:12 PM

unyon: A PHP hypervisor?  As an infrastructure guy that doesn't see a lot of webdev activity it never occurred to me, but I suppose it was only a matter of time.  It actually kinda surprises me that there isn't a stock hypervisor creation platform available to developers today.


Well, there's a golden opportunity, sir. Go forth and make one!

/since I'm a nice guy, I'll only ask 10% net for creative input
 
2013-06-10 11:42:13 PM

blahpers: unyon: A PHP hypervisor?  As an infrastructure guy that doesn't see a lot of webdev activity it never occurred to me, but I suppose it was only a matter of time.  It actually kinda surprises me that there isn't a stock hypervisor creation platform available to developers today.

Well, there's a golden opportunity, sir. Go forth and make one!

/since I'm a nice guy, I'll only ask 10% net for creative input


Unfortunately, I'm an infrastructure guy, not a developer or a guy that knows gear down to the hardware calls being made.  The right guy to build it is the guy in the article- He a virtualization guy that knows the nooks and crannies of Intel hardware and he's a developer.  However, what he'd be developing would also be direct competition to VMware, his former employer.  There might be a few NDAs preventing him from doing so.
 
2013-06-10 11:49:15 PM

IC Stars: PHP is suitable for its purpose and easy to pick up on -- and if you get stuck figuring out how to do something a quick Google search almost always finds an answer.


$your_statement === FALSE;
 
2013-06-11 12:22:02 AM

poot_rootbeer: IC Stars: PHP is suitable for its purpose and easy to pick up on -- and if you get stuck figuring out how to do something a quick Google search almost always finds an answer.

$your_statement === FALSE;


Maybe, dang, I'm not sure what config file your system is using.

neilbradley: The sad thing is, for the most part, C++ just enables people to write crappy C. I've seen try/catch/throw blocks everywhere (aka 'goto'), defining variables wherever, etc... In the hands of a seasoned engineer, it's a great tool. For most people, it's a dangerous weapon for writing craptastic unmaintainable code.


Crappy code will show up in any language.  If you don't think in OOP concepts then your hosed in most modern languages.  PHP is just, wow, like somebody vomited ASCII on the screen.
 
2013-06-11 03:51:38 AM
neilbradley: The sad thing is, for the most part, C++ just enables people to write crappy C. I've seen try/catch/throw blocks everywhere (aka 'goto'), defining variables wherever, etc... In the hands of a seasoned engineer, it's a great tool. For most people, it's a dangerous weapon for writing craptastic unmaintainable code.

Crappy code will show up in any language.  If you don't think in OOP concepts then your hosed in most modern languages.  PHP is just, wow, like somebody vomited ASCII on the screen.


LOLZ! ASCIIPuke(tm). ;-) Very true that crappy code shows up in any language, however almost all of the C++ code I've encountered has been crappy, yet C is, most often, at least passable and often very good. Object oriented design is a concept, not a language, but there are an alarming number of people who don't understand that.
 
2013-06-11 03:58:48 AM

neilbradley: LOLZ! ASCIIPuke(tm). ;-) Very true that crappy code shows up in any language, however almost all of the C++ code I've encountered has been crappy, yet C is, most often, at least passable and often very good. Object oriented design is a concept, not a language, but there are an alarming number of people who don't understand that.


I've written OOP (and substantial projects) with the Common Lisp Object System, in SmallTalk, in C++, in Java, in Perl, and in Python, and by far, C++ is the worse system in terms of understanding OOP, implementing OOP, and in the sheer complexity of a C++ program. And it is complex so they could ram it through a preprocessor and it is complex so that it can run fast enough to be realtime.

So that makes it just a very difficult language and yet, many idiot schools teach it to students as their first language, and companies tell their developers to use it and have no money for training or for the various tools that have been developed.

So it's not surprising that GIGO and most C++ systems are utter shiat, buggy, and way behind schedule.
 
Displayed 30 of 30 comments

View Voting Results: Smartest and Funniest


This thread is archived, and closed to new comments.

Continue Farking
Submit a Link »






Report