Did you know that the total number of programming languages currently exceeds 700? This figure looks impressive, although only a few dozens of them are used by 99% of coders. And even speaking of the TOP-10 languages, we still have trouble asserting which one was used to create Facebook, and which one is the core of your favorite video game.
Asking “what programming language was used to build Instagram/mobile game/this particular website?”, most of the Internet users just want to satisfy their curiosity. But when it comes to budding developers, they’ll likely ask this question to figure out which language to learn, based on their preferred type of software.
Regardless of which group you belong to, you’ll get the complete answer to the question mentioned above right now, with an extensive set of examples. Let’s figure out which programming language was used to build…
The plainest websites ever, which you probably used to make during your computer science lessons in high school, may be created with HTML. However, these look pretty basic and don’t have any functional elements on their pages. The example of such a website:
This is not what you expect to see when you speak of a beautifully built website. To ensure that your site will have a decent design, you might want to use CSS, which is responsible for making visual elements on your website unique.
But that’s only all about front-end. If you dig deeper into the data access layer of the app processed by the server and not clients, you’ll see distinct types of scripts that differ from site to site.
Looking at these stats, we can find out that the back-end of 78.5% of websites is made with PHP. It’s explained by the fact that around 35% of all websites use WordPress as their CMS and create their sites based on its builder. WordPress is, in turn, based on PHP.
Other languages used on websites are Java (3.5%), Ruby (3.3%), Scala (1.6%). and Python (1.4%). For example, Airbnb is built on Ruby, Apple’s website is the combination of Java and Scala, while Reddit uses Python as their primary backend language.
Social Media Like Facebook, Instagram, and Twitter
Speaking of Reddit, it’s more of an online community than just a website. It’s somewhere in-between a news aggregator and a social media network. And what we also know: the second most popular social media, Instagram, is written entirely in Python. This language has a simple syntax and is recommended as the first one to learn for beginners.
Instagram’s experience has also shown that Python is not a tradeoff between simplicity and efficiency. It’s completely scalable for such giant projects like Instagram, Pinterest, and Youtube, which are overloaded with heavy visuals on top of that.
Facebook started as a PHP website, but later developed its own dialect of PHP called Hack. Now it’s based mostly on it, but also includes some parts built on Python, C++, Java, and lesser-known D or Erlang. Twitter’s initial interface used Ruby on Rails, later they switched their base language to Scala. LinkedIn sticks to Java and Scala.
What About Messengers?
Don’t listen to those who claim Instagram and TikTok to be on top of a social addict’s hierarchy of needs. This is not true since messengers took over reins of power. WhatsApp is the third most popular social platform behind only Facebook and Youtube, followed by Facebook Messenger and WeChat.
Messengers are fast, convenient, and spare people from unwanted fluff we often encounter in our social media feeds. This way, they became just as effective means of communication like social media, but without information overdose associated with it.
The Tech stack used to build this software differs as well. WhatsApp, WeChat, and the early version of Facebook Messenger use Erlang. Despite staying behind the curtains, Erlang is a multi-purpose language also used by Amazon, Ericsson, and Cisco for various needs. The language is good at handling multiple connections and routing messages, that’s why it’s a choice of many messengers.
Viber and Telegram use multiple languages for their back-end. For its desktop app, Viber uses C, C++, and Java. Telegram is quite the same; its tech stack includes C, C++, and Qt. For mobile apps, both obviously used Android-native Java and Objective-C for iOS (later migrated to Swift).
Triple-A Games Like GTA, PUBG, RDR
In the 70s, it was programmers and software engineers with their exclusive access to computers who popularized early video games. It’s quite clear that almost the same people were behind each title developed then. Video games changed a lot, but quite a large share of software developers still enjoy them. Some of them even choose the occupation because of their love for video games.
“Want more people to program? Encourage them to play more video games” — said Mark Zuckerberg, the founder of Facebook. And since video games may be a gateway for mastering a profession, let’s find out which languages are used to make them.
And here is what: triple-A projects like GTA, Red Dead Redemption, PUBG, or Assassin’s Creed don’t use a programming language in a direct way. They use game engines (frameworks, architectures, etc.) as their major development environment, and those engines are usually based on C, C++, or Java. Game engines define graphics, physics, sound, animation, and even AI that we will encounter in the final game.
Both GTA 5 and RDR 2 are built on Rockstar Advanced Game Engine. Some of the previous games of the series, notably GTA 3, Vice City, and San Andreas use Renderware as a game engine.
PUBG is based on Unreal Engine 4 along with titles like Dead by Deadlight, Fortnite, and Tropico 6. The Witcher 3 is driven by REDengine 3, while Assassin’s Creed: Odyssey uses AnvilNext. All of the mentioned are based on C++. So, if you want to be a game dev, you know what to learn.
Online Casino Games
Speaking of online casino games, 7 out of 10 people will have online slot machines on their minds. According to this research, 71% of casino players prefer slots or video poker over other kinds of games. From the tech point, those are most interesting to implement as well.
Modern slot machines need strong server-side foundation because a communication between servers of casinos and gaming providers is required to ensure the way slots generate an outcome. It’s represented by a specific number, so most casinos use dedicated hardware with Random Number Generators (RNGs) to generate this combination.
Thus, each slot machine should be programmed in a way to ensure instant data transmission between casino servers and slot machine backend. Thus, you will need to be skilled in C++ or Java to build one, as they are not much different from other games.
Mobile Apps and Games
In 2020, users spend 90% of their time in apps, preferring them to mobile web. So, instead of just adapting a website for mobile (which should be done by default), businesses move on even further by developing a mobile app dedicated to their service.
The mobile environment is heavily dominated by two operating systems: Google Android and Apple iOS. Each has its native languages for app development. If you want to create an app or game for Android, use Java. if your choice is iOS, master Swift, and preferably, Objective-C.
There are also some frameworks for cross-platform mobile app development. Apps made with their help are called hybrid and can be created much faster and in a simpler way. They bear some drawbacks such as worse performance than native apps, though. Popular frameworks for hybrid app building are Ionic, React Native, and Apache Cordova.
AI is the most complex yet the most up-and-coming product on our list. This market is predicted to grow by 840% in the next five years with its value comprising 126B in 2025. However, it is assumed that right now there are only a few hundreds of AI specialists in total, but at the current pace of technology growth, millions are needed.
Thus, AI is a very prospective niche for those who consider software development as their career path in the long-term. AI skills require more time and resources to be mastered, but the average salary of an AI engineer is usually twofold higher than such of a regular software developer.
Well, what programming languages do they use? Unsurprisingly, the top choice for AI solutions is Python. For example, 57% of industry professionals are more likely to use Python than C++, another popular language for AI software.
This statistics shows that game development is not common, while site development is the most widespread. At the same time, the more complex products like the Google ecosystem or artificial intelligence require a more extended tech stack to be built.