5 ms·
Facebook code kinda has three layers: 1. clients (Objective-C for iOS, Java for Android, JS for Web and React Native) 2. application logic (Hack) 3. services (
by pushtheenvelope 8y ago
Facebook code kinda has three layers:
1. clients (Objective-C for iOS, Java for Android, JS for Web and React Native)
2. application logic (Hack)
3. services (c++ and python are most prominent and well-supported, but there's a long tail of languages like Java, Haskell, OCaml, Ruby, etc.)
The prominent languages in each layer have pretty substantial code-bases.
More importantly, there's an engineering culture of eschewing "code ownership" and encouraging "code upgradability" so that motivated folks like Jason can drive these large changes.
- wodenokoto 8y agoDid facebook drop php? I thought they were really vested in it, with their HipHop VM and whatnot.
- yunyu 8y agoHack is a typed variant of PHP.
- sopooneo 8y agoDid they create Hack before PHP 7, which has near full typing on its own?
- Implicated 8y agoYes.
- ckwalsh 8y agoYes, and the php7 typing system is heavily influenced by Hack. However, Hack goes further with support for more typehint features + a typechecker daemon
- codetrotter 8y agoFirst they made HHVM for PHP and then they made the Hack language for HHVM. Hack is based on PHP. I don’t know how much non-Hack PHP they still have but it is my impression that they turned pretty much all of their PHP code into Hack code. https://hacklang.org/ https://hacklang.org/
- philwelch 8y ago"Programming Productivity Without Breaking Things" Nice. That's cute.