But while many already praise Python, others are still puzzled about its sudden fame. And we wanted to know more. We asked two of our Python developers here at Tesonet, Paulius Stundžia and Eivydas Vilčinskas, why today it has become the go-to programming language across industries.
How is Python different from other programming languages?
Eivydas: Well, Guido van Rossum (who created Python), wanted to create a language that wouldn’t be too complex. That’s why the syntax and semantics of Python are beautiful and clear. It’s uncomplicated and uncluttered, making the code simple and readable. Also, this programming language is dynamically-typed and interpreted, which means you can assign variables to different objects with a different type, not limiting you to re-use the variable with only that type of objects, and you don’t have to compile anything yourself beforehand. This allows developing software much faster.
Where is it mostly used?
Eivydas: Python is mostly used in data analysis and web development, and is even widely used for system administration since it’s quite easy to write it. The basics are not so difficult to pick up and they can be applied in various contexts, making the language very useful. It’s also used in machine learning and web scraping, and, lately, it has been used for educational purposes as well. What is more, you have seen Python in action more often than you’d think – Quora, Youtube and Instagram are a few of the most popular sites that use it. Much of Dropbox’s code is also in Python and it’s frequently used by the electronics company Philips.
Paulius: There are also a few games that use it, like Vampire Masquerade: Bloodlines and Civilization 4.
What makes Python so popular today?
Paulius: Well, first it’s really easy to pick up and start developing in. An empty .py file is technically a working Python program that exits with code 0 (i.e. Success). It’s a perfect choice for beginners since it’s quite easy to set up and understand. Out of all programming languages, Python reads closest to how humans think. It embraces simplicity and white space. There aren’t many unnecessary symbols, so the code doesn’t look cluttered and can be read as well written prose. That’s why with programming becoming a more popular career choice, the popularity of Python has increased as well.
Eivydas: Over the years Python has really evolved and now has a large standard library which means you don’t have to look for additional packages to make use of it. On the other hand, by using third-party Python libraries you can perform scientific calculations, test code, use machine learning, create graphical user interfaces, manage databases and much more. In other words, there’s a library for almost anything.
Also, because of the language’s growing popularity, the community grew as well. This not only makes learning from each other easier but also means that there’s an abundance of open source Python libraries to solve all sorts of problems.
What are the biggest challenges when programming in Python?
Paulius: Earlier we mentioned that Python is dynamic in nature. That’s both a good and a bad thing. It’s good because it allows managing variables and objects easier, but this leaves room for hard-to-find mistakes, that would be caught at compile time in statically typed languages.
Besides being called the most popular programming language, Python is also regarded as quite slow. How important is fast performance?
Paulius: Today everyone is crazy about speed and performance, always tweaking things to make systems work faster by 0.001 seconds. The numbers are nice, but think about it, does it really make that much of a difference? Those milliseconds don’t really affect user experience, as they don’t notice it. I’d say 9/10 developers are developing web applications and services, where the performance bottleneck is most likely the delay in I/O, like network communication, reading from disk or querying a database.
Eivydas: You shouldn’t be obsessed with fast performance. For the most part, applications are expected to do what’s expected of them and the timeframe is quite wide for that to happen. The more important factor is having the code work fast enough while keeping development costs lower and Python allows you to develop faster. Python code is shorter and takes less time to write compared to other languages. This should matter the most. In cases where speed is really important, you can replace performance-critical parts with calls to modules written in C or CPython. This way, you’ll have code in Python that’s easy to develop and maintain with an extremely fast core in C. Changing dynamic code to static has its benefits.
How difficult is it to move from Python to other programming languages?
Eivydas: No matter what language you choose, the basics are the same for all. All those principles you learn can be applied to learning other languages. In my opinion, Python is the easiest for beginners, but once you understand the logic behind programming, applying it to other programming languages shouldn’t be that difficult.
Paulius: Of course, if we’re talking about older, more obscure languages (like Cobol), it might be more difficult. But the transition from Python to, for example, Ruby is really easy. As Eivydas said, you definitely need the basics, and that you can learn with Python. Afterwards, learning other languages will be a piece of cake.