Feb. 15, 20196 min read
Authors: Emil Waszkowski - Head of Digital Consulting
Choosing the right technology is crucial for every IT project, regardless of its purpose. This task, however, doesn’t have to be extremely difficult. To make an informed choice, you should do your research first, and check all the options available to you. Once you’re at it, it might be useful to see some examples of specific technologies in action. Here’s why to choose Python, along with the best examples of its use.
A technology stack is basically a combination of programming languages, frameworks, and tools that are used to build an application. Its two major parts are client-side (frontend) and server-side (backend), which remains invisible to app users, yet “powers” everything they see and interact with on their screens. The most popular backend languages, used to create the logic of websites and apps, are Python, Ruby, Java and PHP.
The only challenge, though, is to choose the right technology stack for your app. What to take into account in order to do it wisely?
Once you’re familiar with the main factors that should influence your choice, it’s time to get to know the backend technologies and their use a bit better.
As already mentioned, Ruby (and its framework Ruby on Rails, in particular) is a popular choice for startups and small businesses. The main reason behind it is the ability to prototype and develop products relatively fast, even when their scope is not fully specified or might change during implementation. At the same time, however, Ruby doesn’t seem to scale up well for large numbers of requests and thus, it’s often being criticized for its low performance (as well as massive freedom it gives the developers).
If you’re into e-commerce, security and complex transactional architectures, though, Java might be the way to go. It has been around for a while and thus, has proper documentation, libraries and frameworks in place (not to mention experienced developers). On the other hand, in comparison to other languages, it actually requires a relatively long amount of time to implement any changes, which is why it’s not always the first technology that comes to mind.
Another language with a vast ecosystem of libraries, frameworks and developers is definitely PHP, as it’s basically one of the pioneers when it comes to web apps and websites. The quality of the code, though, might vary. It doesn’t have strict standards and rules, which is why larger projects can become difficult to maintain (and even to read). Still, it’s being widely and willingly used, mainly for its compatibility and versatility.
Python, on the contrary, takes a more direct and conservative approach to coding and emphasizes code readability in particular. Interestingly enough, it has been embraced by the scientific community for its easiness to learn, as well as a substantial set of scientific libraries. It doesn’t give the developers much freedom, but it doesn’t necessarily have to be a bad thing. The language has strict guidelines and favours the most explicit and straightforward manner to solve any problem at hand, which can be extremely helpful when coding and debugging.
Actually, Python seems to be getting more and more attention thanks to being part of more demanding apps that take advantage of machine learning and data science, for example. These are definitely the best uses for Python language that one can think of.
Speaking of the best uses for Python language, it’s worth to take a look at well-known companies that decided to include it in their technology stack, as well as the reasons why they chose Python in the first place. Here are some examples of top Python applications to draw inspiration from.
Although it’s no longer a separate company, this photo-sharing app serves an incredible amount of traffic (millions of active users and posts published each day, to be exact) - thanks to Python, among others. Why Python? Mainly because it’s popular, simple and user-friendly for software engineers, which allows the whole team to concentrate on the UI and UX instead. Actually, after being acquired by Facebook, there was an idea to switch to PHP (since it serves as one of Facebook’s core languages). It turned out, however, that it wouldn’t have improved the app’s performance significantly.
The music streaming giant is another example of a Python application. It uses the language mostly for data analysis (to provide proper recommendations for users) and back-end services, and seems to be favoured by the engineers because of the fast development pipeline. It also has a robust community, which Spotify contributes to by sponsoring conferences dedicated to this language.
Since it’s also a streaming service, Netflix takes advantage of Python in a similar way to Spotify. The reasons why the company chose Python also have to do with the preferences of the software development team. The engineers appreciate the active community, as well as the variety of third-party libraries that allow solving almost any problem at hand.
Although it may not seems like it at first, Reddit is one of the most visited websites in the world. It was originally coded in Lisp, but the company switched into Python almost immediately - primarily due to a wider range of libraries and greater readability of the code. It has been a perfect example of a Python application ever since.
Google has been a great fan of Python almost since the beginning, which may be the reason why the company made it one of its official server-side languages. Why Python? Because according to Google’s developers, it enables relatively fast delivery and is easy to maintain. As the company evolves, Python still remains an important factor in its growth.
NASA may not be a typical example of a “Python application”, but it’s definitely an interesting example to look into. Apparently, the space agency has been using Python since 1994, and it still values its readability and ease of maintenance - especially given a significant amount of staff turnover. It’s also perceived as a relatively easy language to pick up, even by the non-programming engineers at NASA.
The above-mentioned Python examples prove that this language is a popular choice among well-known companies around the world. It’s said to be a good fit for any application that scales horizontally, takes advantage of the cloud, or revolves around data science and machine learning. Still, thanks to the variety of libraries, it’s possible to create pretty much anything with Python - especially since it’s easy to read and maintain.
If you need more help to decide what technology is the best for your app, read more about the differences between Python and Ruby and consult your project with an experienced software house.