At Facebook, the codebase that runs the social networking site is written in Hack.
The Menlo Park, Calif.-based social networking titan said it had streamlined PHP, made it better, and that Hack was now the official language running the site used by 1.2 billion users. Facebook engineers embellished the code internally and announced the upgrade Thursday, according to a post.
Facebook did not post the update to its site, but the beta version is now live and can be seen here.
Company engineers said inherent challenges in the PHP code sometimes made simple tasks “tricky or cumbersome” and that coding errors were sometimes not detected until the script had gone live. Hack has changed that, Facebook said. Thus, the company said, “Hack was born.”
Facebook explained that one of the major embellishments to PHP thus:
“Our principal addition is static typing. We have developed a system to annotate function signatures and class members with type information; our type checking algorithm (the type checker) infers the rest. Type checking is incremental, such that even in the same file, some code can be converted to Hack while the rest remains PHP. Technically speaking, Hack is a gradually typed language: dynamically typed code interoperates seamlessly with statically typed code.”
“The Hack adds additional features beyond static type checking, including collections, lambda expressions, and run time enforcement of return and additional parameter types….We are delighted to open-source both Hack and the tools that we used to convert our codebase (http://hacklang.org).”
Facebook is hosting a Hack-related event at its campus next month. Believe us — we’ll have more soon.
Facebook is the world’s largest social network, with over 1.39 billion monthly active users. Facebook was founded by Mark Zuckerberg in February 2004, initially as an exclusive network for Harvard students. It was a huge hit: in 2 we... read more »
Powered by VBProfiles
VB’s research team is studying mobile user acquisition...
Chime in here, and we’ll share the results