Programming Languages behind Twitter, Facebook, WhatsApp, Instagram and LinkedIn
Twitter, Facebook, Whatsapp, Instagram, LinkedIn are the applications which have become the part of our day to day Life.
Almost every user use at least one of the above applications. The purpose of using them may vary from user to user. Some may use these for educational purpose or some may use it for entertainment. Whatever may be the purpose, that’s not today’s topic.
Have you ever wondered what are the programming languages behind these popular applications?
As a developer, you must be aware of the capabilities and limitations of different programming languages like java, python, ruby, etc. If you aren’t aware of programming languages used behind the popular application. Don’t worry PinProgram’s here to tell you about different programming languages and their frameworks involved in the long development cycle of these applications.
Let’s start with the gentlemen’s favorite platform.
Programming languages used in Twitter
Twitter came into existence on 21st March 2006 as a result of the innovative idea of certain programmers like Jack Dorsey, Noah Glass, Biz Stone, and Evan Williams. Whom we call today the founders of Twitter.
The Twitter web interface was eventually developed using the Ruby on Rails framework. Which was further deployed under Ruby Enterprise Edition implementation of Ruby. As the popularity increases of twitter, the ruby persistent queue server called Starling was not able to handle the load of users requests. Moreover, the searching and indexing speed of the starling was not able to fulfill the requirements of users.
On April 2011 the Developers of Twitter confirms that they have switched their ruby on rails search stack to Java server called Blender. Later on, they switched their base programming language from Ruby to Scala. The JVM has given the twitter 10x boost from 200-300 requests per second to 10,000-20,000 request per second.
The tweets are stored under unique IDs by Snowflake. Rockdove is used to store the geolocation of the users. If you want to know the full working of Twitter, Do write in comments I will write a dedicated post on working of twitter.
Facebook programming languages
Facebook is the most popular social media website founded by Mark Zuckerberg On 4th February 2004. Eventually, the entire Facebook was written in PHP. ReactJs plays a good supporting hand to the Facebook front end development. PHP was a good choice due to its Open Source Availability and good support to the front end HTML and Backend Logic of C++.
You might be confused, How C++? As PHP is the server-side scripting language it runs relatively slow on the client side. HipHop is used to convert the PHP into C++ which later on can be compiled for better performance.
At the back-end, they use Hack, PHP (HHVM), Python, C++, Java, Erlang, D, XHP, Haskell. Erlang is used for facebook chat and messages. The hack is a programming language used for the HipHop Virtual Machine (HHVM). Haskell is a purely functional programming language with type inference and lazy evaluation. Lazy Evaluation means that expressions are not evaluated when they are bound to variables, but their evaluation is put off until their results are needed by other computations.
When it comes to storing the data. Facebook is backed by strong databases like MariaDB, MySQL, HBase, Cassandra. Apache Cassandra is a free and open-source, distributed, database management system. It is also a NoSQL Database management system known to handle large amounts of data requests. Also, provide high reliability and availability.
Apache Hive is used as the Data Analysing tool for facebook. Which again developed by Facebook itself. Data warehouse software for providing data query and analysis.
WhatsApp Programming language?
Everyone’s favorite freeware application Whatsapp was founded by two former employees of YAHOO namedand in 2009. Now Facebook is the owner of Whatsapp.
The Technical Stack used to develop Whatsapp includes Erlang, FreeBSD, Yaws, PHP, and XMPP.
- Erlang – A general purpose, a concurrent, functional programming language used to script the real-time chat app system. It has built-in support for concurrency, distribution and fault tolerance.
- FreeBSD – FreeBSD is an open-source Unix similar operating system used to power modern servers, desktops, and embedded platforms.
- Yaws – An Erlang-based web server particularly well suited for dynamic-content web applications, that can run Whatsapp as a standalone web server.
- PHP – Open-source general-purpose scripting language mainly used for Web Development. It is a free and efficient alternative to Microsoft’s ASP.
- XMPP – XMPP is the core of Whatsapp that makes it possible to send real-time messages, XML routing features, and much more. XMPP is a communication protocol for message-oriented middleware based on XML.
Programming languages used in linkedin
Next comes the favorite Application of fresher and jobless people. It’s the LinkedIn founded by Reid Hoffman, Allen Blue, Konstantin Guericke, Eric Ly, Jean-Luc Vaillant on 28th December 2002.
Yes, Voldemort is the name of Database. You got it right it is been named after the fictional character Lord Voldemort of Harry Potter. Voldemort is a distributed data store developed to store the Key-value pair in the Database. LinkedIn Developed the Database for its Application. Voldemort uses in-memory caching to eliminate a separate caching tier. Voldemort is NO SQL database.
Programming Languages used to make Instagram
The favorite application of photo Freak. Developed by Kevin Systrom, Mike Krieger and owned by Facebook.
Instagram is entirely building in the most secure and simple language Python. The Framework used is the most popular Django framework supported by HTML5. Django is good for this type of application as it follows an MVC (Model-View-Control) architecture.
The Database used to store such a large amount of images is PostgreSQL, which is a No SQL Database. Instagram uses it to store almost everything, from user data and photos to metadata, tags, etc. PostgreSQL is an open-source relational database management system mainly known for handling a lot of requests at a time due to its multi-threading nature.
The front end or the client side is developed using the React.js libraries maintained by Facebook. The Backend server libraries used are of Gunicorn. Which provides a Python Web Server Gateway Interface HTTP server. Gunicorn is a pre-developed worker model, imported from Ruby’s Unicorn project.
In the end, you might have noticed that the technology stack for different platforms is different. There are certain similarities in the Front end languages but the backend development languages are different. It’s been recommended that you must use an appropriate language before start building a new application. Because It is not always simple to migrate for one language to another programming language.
I hope you would have liked the post. For more updates stay tuned with us.
And at last, If you want to know the programming language behind
- Tik Tok
- Google maps
- Microsoft office
And anything else please does write in comments. I will surely write a dedicated post on that.