As we mark the 21st anniversary of the first release of Python, we asked our colleague Martin Varbanov, a Machine Learning Engineer at team News UK, to reveal some of the key advantages of the language that make it so widely used and easy to learn. Read on:
Interacting with colleagues with different proficiencies and occupations may sometimes be a little bit difficult. Finding a common ground can be challenging as we all have different aims and points of view. And while there is no universal language, we could strive to pick more expressive tools and technologies to shorten the gap between us. You may say I’m biased, but I would argue that Python is among those technologies and will try to explain why.
The Prides and Sorrows of Python
The philosophy behind the languages is summarised in the Zen of Python, emphasising the importance of writing code that is easier to understand. Programmers always seem to argue about code style and preference. Python provides a centralised style guide PEP8, which serves as the main reference point when it comes to code style, an easy to start syntax, a package manager Pip which makes it easy to download and distribute code, and a big community to continue the progress.
The disadvantage of using such a language is the speed. Python is a slow language. But as hardware gets cheaper and more powerful, the need for speed diminishes. Hard computations could be handled by creating interfaces to more performant technologies, like the use of Lapack in NumPy. This way Python can still be used in heavy computational fields like Data Science. Deep learning models are known for their complexities, having to crunch absurd amounts of matrix operations. And yet some of the most popular deep learning frameworks are Keras and PyTorch, which let the user easily design their models and leave the heavy lifting to the more performant technologies which compute under the hood.
Another field in which Python thrives is web development. It is used on platforms such as YouTube, Instagram and Spotify. Python offers different framework options like Django, Tornado and Flask to support the backend tasks, providing easy to start ORMs and utilities to build all the essentials.
Last but not least, Python is suitable for beginners. The key to being successful in programming is to write code every day. To write code every day, one must have the motivation and the proper mindset. If one can see the fruits of their labour, they will have more dopamine released in their systems and will get more involved in this activity. With its easy learning curve and graphical projects like turtle and pygame, the language can be used as an introduction to computer science, teaching some informatics concepts but also keeping things interesting and relatable for beginners.
More about the author:
Martin Varbanov is currently a Machine Learning Engineer at team News UK. He has more than 4 years of professional programming experience and in his work he uses Python and Linux. In his free time he enjoys skiing and walks in the mountains.
Are you interested in Python too? We have a couple of interesting opportunities. Check them out here.