Python, is it true what they say?

“Python, as a skill, is the hottest in tech.” ⁱ

“The top programming languages of 2019: Python is number one, say engineers” ⁱⁱ

“Python is one of the fastest-growing programming languages in the world.” ⁱⁱⁱ

There is quite a bit of hype in the tech world around Python but how many of us business people really understand why it’s so great? We took the time to have a chat with Lewis Martin, our graduate turned Technical Consultant to get the low down…

So in a nutshell tell us what it is..

Python is the world’s fastest growing programming language and the second most popular programming language in the world (second to Javascript). Python is a one-stop shop not just for Software Engineers, but amongst Mathematicians, Data Analysts, Academics and even children. Its popularity is primarily due to the explosion of development with automation, artificial intelligence and big-data analysis. As well as heavy investment from Google. Python is commonly used in data analysis.iv

Does it live up to the hype?

Absolutely. It could even be said that there isn’t enough praise! The idea behind Python is to solve complex problems in less time with fewer lines of code – what’s not to like?

You don’t have to be a software developer to use Python and I think most would agree it is the easiest programming language to learn. As such, Python has overtaken French as the most popular language taught in primary schools in the UKv. In addition, hardware such as RaspberryPi allows children to code from the comfort of their own homes from a very young age.

It’s free and open source. Tick.

According to SlashDatavi, Python has a buzzing community of over 8.2 million active developers worldwide. All of whom can share and receive open-source MIT licensed code via PyPi (Python’s de facto code package management system). As of February 2020, there are 2.5 million open source Python files made available by the community for anybody to use and for any application be it personal or commercial.

Apart from already sounding great, what makes it unique compared to the likes of C++, Java etc..?

Python is considered an ‘Interpreted’ language. In languages such as C++ and Java, you must first compile the code in order to run it. Python converts the source code to bytecode automatically. This means that the developer can ultimately save time by not having to be concerned with connecting libraries and other code dependencies. It also means that the source code can be run line by line which makes debugging much easier.

Say goodbye to messy and unreadable code. Python forces developers to adopt a complete set of code style guidelines which the community often refer to as “Pythonic” idioms. If the developer does not adhere to these guidelines, the code will simply fail to run.

It’s really easy to learn. It is much easier to code compared to other programming languages such as C++ and Java. A straightforward line of Python code is as simple as reading a sentence in your native tongue. Just by looking at it you’ll be able to know what it is supposed to do, even if you aren’t a developer.

Python is a high-level language. This means there is no need to memorize the computer/system architecture or manage memory. Python will take care of this for you. In comparison, languages such as C++ are now being grouped with lower-level languages like C which require more configuration.

Python is portable. Python scripts can be moved from machine to machine without being changed and still run, even regardless of the operating system.

Python is an extensible language. This allows you to interface Python with libraries written in other languages such as C or C++.

Dare I ask, what’s the downside?

Some say that speed of execution can be an issue versus compiled languages such as C. However, techniques like separating the language from the runtime can improve Python code execution. And these days many Python packages have been optimized and now execute just as fast as C and Java.

Python isn’t very present on the client-side in mobile apps or browsers such as Chrome. Whilst their API’s might be powered by Python, in fact very few mobile applications are developed with Python. The same can be said for the client side of web applications where traditional HTML, CSS and Javascript still dominate the space.

In a practical sense, what can it do?

The possibilities are endless. As Python is a multipurpose programming language, there is an immeasurable number of potential applications. Here are a few day-to-day generic business applications:

  • DevOps: Automation of repetitive tasks for systems management
  • Marketing: Automation of company social media
  • Accountants: Automation of small programs and fetching latest financial data
  • Machine learning and AI
  • Web scraping and data mining
  • Web development frameworks (Django) and setting up secure APIs
  • Mathematical multi-threaded processing of data
  • Penetration testing/automated testing frameworks
  • Automatic trading
  • Natural language processing e.g. sentiment analysis
  • Automation of SMS/email sending
  • Game design

Some of the world’s most popular websites are built using Python. Python powers the API which sends and retrieves all data from and to their database. Their websites and apps both connect to the same API. Examples:

  • Instagram
  • Google
  • Spotify
  • Netflix
  • Uber
  • Dropbox
  • Pinterest
  • Reddit

Some examples of companies using Python for their network infrastructure and automation:

  • YouTube
  • FaceBook
  • Yahoo
  • NASA
  • IBM

About Lewis Martin

Lewis is 24 years old and joined CubeLogic’s graduate programme in 2018. He studied Mathematics at Newcastle University and he has successfully transferred these skills and applied new knowledge to become a valuable member of our technical consulting team.









vi (Page 28)