5 Huge Tech Companies That Use Python: Does It Fit Your Project?
The pick of a programming language is the initial point from where the development usually starts. If let's say ten years ago entrepreneurs had nothing to do with the limited number of technologies to pick from (largely because of the lack of professionals) then nowadays it doesn't even sound like a problem. Now, the choice of a language is grounded by the peculiarities of a project and only after that by other factors.
In this article, we'll consider why tech giants like Instagram prefer using this language, as well as take a glance at advantages of Python in order you could decide whether it's a perfect pick for your project or not.
What is Python?
Before we move to the companies that use Python and consider peculiar cases why they do so, we should start from the very beginning and learn some details about what is Python language (if you don't need this basic knowledge -- just scroll down to the main topic).
Python is an object-oriented programming language with dynamic semantics that was created in 1991. At that time it was used to write automation scripts or swiftly prototype apps which then will be built on one or several other languages. But thing changed dramatically for these years and Python evolved into the first-class language for modern web and mobile development. Besides, Python and data science are proven to be a good combination.
What is python programming language: It's the 2nd most popular language on GitHub (Source: GitHub Octoverse)
What is Python good for?
As it was mentioned, Python was used for scripting and automation purposes. It still does, but there are some additional spheres where the power of this language is invoked in. So, let's see what is Python used for today.
Python for data science & machine learning
Advanced data analysis is one of the most important and rapidly developing areas in the modern IT industry. Python for data analysis is a good pick because the majority of libraries involved in machine learning and data science have Python interface.
Python for REST APIs & web
The native libraries of Python along with a myriad of web frameworks allow developers build software fast and with pleasure. Wherein, the capabilities of Python programming language are quite impressive. It's possible to implement everything starting from plain REST APIs in Python language ending with complex websites.
It's worth mentioning that the latest version of Python got some powerful improvements related to asynchronous operations. It means that Python-based websites are able to handle with thousands of requests each minute.
Python for metaprogramming
As I've already mentioned, Python is an object-oriented language and respectively everything is an object there (including libraries and modules). Due to this, the language is able to efficiently generate code. It means that software can manipulate its own functions. It provides developers with the kind of scalability which is hard or even impossible to achieve by using other languages. That one of others benefits of Python.
Companies that use Python
It's time to consider what companies use Python and why.
The company has recently moved to Python 3 and Instagram is just great example of a gigantic tech company using Python language in combination with Django (Python's framework).
In order you could understand the scale, we should mention that Instagram has about 400M of daily active users who share more than 95M photos and videos.
The main reasons for Instagram why choose Python served this language's simplicity and popularity. In other words, this language is 'friendly' to engineers that means they can focus on user-facing features. While its popularity facilitates the searches of new developers that's an extremely important factor for the rapidly growing company.
Instagram faced some problems connected with its growth which were caused by the slowness of Python. However, they solved them by adding more AWS machines and nowadays the dynamics are positive.
Companies that use Python programming: Instagram's server growth vs user growth
The company claims they did consider the variant with switching to PHP language that serves as one of the Facebook's core languages. However, after comparing them, they understood this won't bring any significant performance improvements. That's actually the reason why they use Python. The company decided to make their stakes on this rapidly developing language bearing in mind that each new version gets faster.
It's worth mentioning that the whole process of migration took the team about 10 months and it was broken into several stages. The first one was dedicated to code modification that implied replacing packages that don't support Python 3 by the ones that support. The second stage was unit testing and the third was the smooth rollout of the product.
Companies that use Python: How Instagram migrated to Python 3
So, on the picture underneath you can see the main reasons why Instagram chose Python as the core language for back-end development of its service.
Why use Python language: Reasons why Instagram chose Python
Another tech giant Spotify also trusts Python and applies it in its back-end services, as well as for data analysis purposes. In more detail, the back-end of Spotify consists of a plethora of separate services that are connected by means of the messaging protocol developed in-house. Well, about 80% of these services are based on Python, while the remaining 20% on languages like Java (most part) and C or C++.
The company claims the speed of development is one of the main priorities for them. That's the reason why Spotify use Python to build its music streaming service -- it just meets their development speed expectations.
Let's talk a little about data analysis on Spotify. It's understood that any modern company processes a huge amount of data to polish its services. For this purpose, Spotify uses Hadoop -- the Java-based framework with the focus on big data. What is Python programming languages used for here? The thing is to easier interact with Hadoop, the team developed its own Python-based package contributing to it that's called Luigi.
Long story short, this package allows Spotify teams prototype complicated jobs with data in a fast way. Also, Luigi is used in couple with various machine learning algorithms to power such features as Radio and Discover.
So, Spotify chose Python because of the speed of development and community. By the way, the company contributes to the development of this community all the time by sponsoring conferences dedicated to this language.
Why use Python language: Reasons why Spotify chose Python
The Amazon company is another big player that involved Python language in its product. Among all the technical solutions this company resorted to, we should pay your attention to the way Amazon built its features connected with suggestions (e.g. recommended deals).
Amazon suggestion feature: Recommended deals for you
To provide its customers with accurate recommendations, Amazon analyzes their buying habits and search patterns. That's possible due to their Python machine learning engine which interacts with company's database Hadoop. So, they combine and work together in order to achieve the most efficiency and accuracy in giving recommendations.
The choice fell on Python language due to the fact it's popular and has lots of features for Big Data. Moreover, Python is scalable and portable that's a big plus for the kind of solution Amazon strived to create.
Actually, as practice shows, Python is pretty often used in combination with other technologies like Hadoop or Apache. For instance, the well-known Disney company uses Python along with Hadoop in order to manage clusters for processing of images, as well as for rendering. Also, YouTube uses the combination of Apache Spark and Python to breathe life into its real-time analytics.
So, Amazon uses Python because it's popular, scalable, and appropriate for dealing with Big Data.
Why use Python language: Reasons why Amazon chose Python
It's one of the largest survey companies in the world that processes more than 1 million survey responses daily. At the very beginning, the company's web app was monolithic and built on .NET along with C#. In general, there weren't any issues with the smoothness of the system, but it was relatively slow in testing and deployment of new features.
That's why the company rewrote their app in Python and broke the main features into several separate services. In turn, these services communicated through the web APIs. Such a solution allowed SurveyMonkey to implement features on smaller codebases which can be managed more easily.
The main reasons why SurveyMonkey chose Python were its simplicity (easy to read as well as understand), tons of libraries allowing to build web apps faster, as well as tools facilitating working with deployment, unit testing etc. Besides, developers love Python that's an extremely important factor for hiring and retaining professionals.
Why use Python language: Reasons why SurveyMonkey chose Python
Of course, we couldn't omit such giant as Facebook that applies Python largely to process images. It's quite obvious that this social network deals with huge amount of data including tons of images. The company decided to use Python as the core language for the back-end of their applications connected with image processing (e.g. image resizing).
Why use Python language: Reasons why Facebook chose Python
As you see, companies choose Python language because of many reasons. However, the most frequent one are its simplicity, popularity, and speed of development.
If you need some help in building a project on Python or other languages -- contact our managers. They'll gladly answer all your questions and consult you.
Subscribe to our newsletters in order to stay tuned! Fill in the form you see on the right or at the end of the page if you're reading this post on your smartphone.