Interview
Francisc Moldovan
Python Practice Lead
When I joined university in the early twenty-tens, there were rumblings of a “newly appeared programming language” that was much different from the ones we were studying (C/C++, C#, Java).
Believe it or not, Python is four years older than Java (which was released in 1995). With unprecedented growth, such as 456% in 2018, Python has continued to increase in popularity, as well as reaching high levels of searches online for tutorials.
Essentially, Python is centred around data, while proving itself easy to write and understand. Right off the bat, you will quickly learn that this language will never be one to rule them all, given some of its shortcomings. Data Science (together with analysis and visualisation) and Scripting make up for most of the applications where the language thrives, being aided by the huge community actively supporting fellow developers.
I asked a fellow Data and AI Consultant, who has been in the industry since 1990, how he feels about the Python programming language.
He sees it as “an awesome and unstoppable language, given both the massive community and the great number of libraries, while putting an emphasis on the lack of strong data typing, which might hamper the language from being a building block for large systems.”
However, in the ever-growing world of data, many businesses, and data practitioners, place bets on Python. Why? The performance bottlenecks have been fixed via plug-in libs such as Apache Arrow and numpy/pandas (implemented in C). It is worth mentioning that Python is the main language of Spark/Databricks.
Databricks represents a data warehousing, machine learning web-based platform developed by the creators of Spark. Apache Spark is an open-source, distributed processing system used for big data workloads. It utilises in-memory caching, and optimised query execution for fast analytic queries against data of any size.
Python comes in handy as “glue code” – for example, whilst the mentioned tooling and platform could be created using Java/Scala, the data ingestion and manipulation can take place via easy-to-understand Python code, with the added benefit of a huge online community.
Sure. From one-liner web server all the way to a big framework such as Django/Flask/FastAPI. While a big web portal or in-browser platform should rely on a big, scalable web framework such as Java Spring and/or ASP.NET, some of the big actors rely on Python in parts of their business. At Google, one of the founders made the decision of “Python where we can, C++ where we must”.
Facebook made Python its third most popular language. Besides Spotify, Quora and Netflix, who employ the language in any server-side role, there’s Instagram, completely written in the Django web framework (+800M monthly active users in 2020). A bit of trivia for you - Instagram’s founders had a C/C++ background and chose Python’s Django web framework for fun.
Whilst Python shall never replace Java or C/C++, and is a few times slower than other languages, Python thrives at calling lib code written in those fast, efficient and scalable languages. Goes to show that “if you can’t beat them, join them” is the name of the game.
Want to know if Python is the right programming language for your platform? Or just want to learn more? Add me on LinkedIn and let’s talk.