At A Glance Main Projects Tutorials Resume

Contact


Email: palen1c at gmail.com




Increased Adoption of Python Across the United States

Mon, 5 Dec 2021 11:54:58 EST

Python is permeating just about every industry you can think of. Many of the baseline AI models sweeping the industry by storm use Python frameworks and tooling. What is the reason for this phenomenon? I have been asking this question for the past few years. I have assembled a litany of reasons for this.

An artistic generated image of the Python logo.
1. Python has become the most taught introductory programming language for universities according to the ACM. This shift happened roughly around 2015 when it overtook Java. Prior to that, Java replaced C++ as the dominant introductory language. As a developer for several years I can understand why this happened. Java is an amazing language, but it is difficult to jump right in to without a very large object oriented understanding. With Python you can follow simple examples to get your first program running right away.

2. Python has gained a reputation as being synonymous with machine learning (ML). ML has been one of the hot areas in computer science for the past few years.

3. Python is easy to get installed and running across platforms. With the addition of pip for package management, it allows anyone to get started at a basic level even with examples including dependencies. I have spent a lot of time using the node package manager (npm) and docker hub as well. I do not like the package managers for anything serious, but they are great for examples. How can you verify software supply chain integrity by just blindly installing dependencies? However, package managers simplify dependency updates greatly.

4. Getting started with Python does not require object oriented concepts to get something running. It does a great job allowing developers to approach those concepts as they advance.

A simple RabbitMQ Python program.
5. Python is not statically typed, meaning variable types are not strictly enforced. I can see how this would be easier for people, but in my experience static variable typing is one of the most important foundations of testing and building large code bases. Non static enforcement allows slick polymorphism that can save lines of code. Polymorphism is an object oriented programming concept where an object can behave like several things without explicitly being them. However too much polymorphism in my experience tends to create code bases that cannot be tested and grown in reliable ways.

The major problem I have with Python is the syntax requiring indentation and non explicit line/expression endings. In many programming languages you close a statement with a semicolon. Indentation does not matter and is something you do to help make code more readable. In Python, indentation is used specifically to direct code execution flow. Not having the right indentation can cause compiler errors in Python. Despite this annoyance, I have been lucky to deploy successful applications with Python. I most recently used Python to create an orchestration back end incorporating RabbitMQ.

Charles Palen has been involved in the technology sector for several years. His formal education focused on Enterprise Database Administration. He currently works as the principal software architect and manager at Transcending Digital where he can be hired for your next contract project. Charles is a full stack developer who has been on the front lines of small business and enterprise for over 10 years. Charles current expertise covers the areas of .NET, Java, PHP, Node.js, Javascript, HTML, and CSS. Charles created Technogumbo in 2008 as a way to share lessons learned while making original products.

Comments

No one has posted any comments yet, be the first

Comments are currently disabled.