What’s used to code Facebook?
Facebook, thanks to its popularity has become incredibly complex as it has to handle millions of hits and a lot of pics and vids. So what does it do ? It uses the best features of all available languages to produce the performance required. Here is a list of whats used to code it.
1. Frontend is written in PHP mostly using XHP, and the runtime is HipHop for PHP. Like most websites there’s a lot of JavaScript running in the users’ browsers.
2. Most of the backend services are written in C (programming language), C++ and Java. A lot of the C++ services rely on Boost. Many of the internal tools and some glue code is written in Python (programming language).
3. One of the services that underlies Chat, the channel servers is written in Erlang. The backend services and the web frontend communicate using Apache Thrift. The iPhone app and iOS SDK are written in Objective-C (programming language).
4. OCaml, Haskell, and Ruby (programming language) are used internally.
5. MySQL for database.
6. This term is thrown around very often: LAMP (Linux, Apache, MySQL, and PHP) stack with Memcache.
Other useful links:
http://www.upscreed.com/2013/01/programming-languages-used-by-facebook/
http://www.warriorforum.com/programming-talk/497316-what-programming-language-facebook-written.html
http://programmers.stackexchange.com/questions/55091/why-did-facebook-use-c-beside-php