These are the programming languages Facebook uses

Welcome back! The other day we talked about the programming languages that Google uses, here’s that article in case you missed it:

Now, let’s talk about what programming languages Facebook uses!

First off

As always, if you have any suggestions, thoughts or just want to connect, feel free to contact / follow me on Twitter! Also, below is a link to some of my favorite resources for learning programming, Python, R, Data Science, etc.

Let’s begin!

The Languages

Let me go ahead and just tell you exactly what the languages are without wasting your time, i’ll explain them later. The languages that Facebook uses in house are: Javascript, React & Flow for their front end, their backend is a little bit more complex: Hack, PHP, C++, Java, ERLang, D, XHP and Haskell. How do I know Facebook uses these languages? They’re on Wikipedia:

Now let’s go into detail for all of these languages:

Javascript, Flow and React

Interestingly enough, almost all of the most popular websites use Javascript as their front end (with very few exceptions). Javascript is a dynamic object orientated language that essentially focuses on the front end, Flow is another update on Javascript (much like Typescript) which basically adds a bit more functionality on standard javascript. React on the other hand was another language that Wikipedia didn’t put up, but i’m 99% sure Facebook uses it, how do I know this? Because Facebook invented it. React is a library for Javascript which, much like Typescript, adds a bit more functionality to your Javascript enviornment.

Hack

This language is very strangely named in my opinion. Hack is another language created by Facebook, this language is a branch off of PHP. First off, the main advantage for this language is that it combines dynamic and static typing within this language. Secondly, this language was first seen in 2014, so it’s a fairly new language.

PHP & XHP

PHP is another popular language used by a ton of different companies. This language is heavily focused around web development, the Wordpress framework is also built upon PHP. Facebook uses this language for the web development advantages this language holds. XHP is essentially an augmentation of PHP, this language allows you to create custom and reusable HTML elements.

C++

This language is a very popular language, for most of the companies on that Wikipedia list, C++ is by far one of the most popular language for sure. First off, this language was developed as a branch off of C, it technically stands for “C with Classes”, this language also has tons of different uses: developing operating systems, games, applications, etc.. Learning C++ would not only make you a better candidate for Facebook, but it could probably make you a better candidate for any Software Engineering job out there.

Java

This one is a no brainer, Java is a massively popular language that has tons of different uses. Java is commonly used to develop out mobile or desktop applications, programming out embedded systems or even handling many data processing tasks. This was actually one of the first programming languages I learned, although I don’t use it as much anymore, this is a very powerful language for sure.

ERLang

This language was one I haven’t heard of before, but ERlang is another general purpose programming language. Interestingly enough, it seems that ERLang is used heavily inside of their WhatsApp division, since this language is able to handle a large amount of users at one time, so the Facebook Chat / Messenger app is also built on ERLang. If you plan on working in any part of their chat divisions, ERLang is a very important language to learn.

D

This language is another very important language, it is sometimes referred to as Dlang as well. It was originally supposed to be an updated version of C++, right now, D is it’s own language for sure. D is commonly used for developing games, virtual machines, web development, analysis and developing some machine learning models as well, with the looks of it, this language has a lot of capability for sure!

Haskell

This language is an interesting language as well, it is another statically typed language with type inference and lazy evaluation. This language has almost the same type of capability as languages like C, C++, Java, etc.. If you plan on entering Facebook and interviewing, having this language in your skillset would be a very important thing to do!

There you have it! I’ve said this a few times in other articles but I would recommend learning the random languages in this article. Languages like D, Haskell and XHP are languages most people probably wouldn’t learn, mostly due to their lack of popularity, so if I were trying to get a job at this company, I would try to learn as many of these languages as possible.

Data Scientist / Engineer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store