Automating your Business with Python

Part 1 of 2: Why Python?

Demanding clients, tightening budgets, looming deadlines, endless data entry, fierce competition, and desire for innovation. Sound familiar? In a world where we’re expected to do things better and faster with a smaller budget and less people, Python is a tool that can be used to automate the tedious, repetitive, and manual aspects of your business, allowing you to deliver more quickly and with greater accuracy, freeing your people up to do other things that truly add value to your business, and helping you gain the competitive advantage.

What is Python, and why should you take notice?

According to the official Python site, Python is “an interpreted, object-oriented, high-level programming language with dynamic semantics.[1]” Bored yet? Basically, Python is a programming language that can be used to do just about anything. But the same could be said about the dozens of other programming languages out there: Java, Javascript, C++, C#, Perl, PHP, Ruby…and the list goes on and on.

So, what makes Python different? Before we go there, let’s talk about how Python is the same as some of the other top programming languages.

o   Python is open-source. No licenses to purchase. Free to use, forever.

o   Python is powerful. It has thousands of standard and 3rd-party modules & libraries that enable you to develop just about any solution you can think of:  Data analytics, document parsing, browser automation, and everything in between.

o   Python is flexible. It can run in any major operating system: Windows, Linux, & Mac.

o   Python is supported by a massive community. Python is popular and growing fast (more on that later). This means there is a ton of community support & documentation available.

o   Python is scalable & enterprise-capable. This one is important. One misconception is that Python is only good for smaller projects, and that couldn’t be more wrong. It’s true that Python is great for small projects, but it’s also being used all over the world in major companies for large-scale mission-critical projects. Google, Facebook, Capital One, NASA, Netflix, & Dropbox all use Python. Instagram, one of the most popular mobile apps in the world, with over 400 million daily users, uses Python as one of its core technologies[2].

Now let’s go back to my original question: What makes Python different? Three things stand out to me: speed to solution, efficiency, and popularity. Python is unique in that it has the good qualities of other major programming languages, while also allowing you to deliver solutions faster and more efficiently. This unique combination has led to Python becoming one of the most popular & fastest growing programming languages in the world.

Python is powerful, yet very easy to read and write, which leads to solutions being delivered in less time with fewer lines of code. The official Python website claims that “Python programs are typically 3-5 times shorter than equivalent Java programs.” This was also shown to be true in a study[3] by Connelly Barnes, a Senior Research Scientist at Adobe. When comparing 8 of the major programming languages, he found that Python developers solved the problem in the fastest time with the second fewest lines of total code. To illustrate, here is a quick code comparison of the classic “Hello World” example.

Hello World.png

To be completely fair, there are times when other languages are better suited, as is explained here -- https://www.python.org/doc/essays/comparisons/ -- but in many cases it’s hard to beat the combination of power, developer efficiency, simplicity, and support that comes with Python. It should also be noted that the inclusion of Python in your stack does not mean that you need to exclude Java, C++, or other languages. Alex Martelli, a well-known Python developer & Google engineer, said that “the very earliest Googlers (Sergey, Larry, Craig, ...) made a good engineering decision: ‘Python where we can, C++ where we must’”[4].

Python is popular and growing FAST. Stack Overflow, the “largest, most trusted online community for developers to learn, share their knowledge, and build their careers”, recently did a study[5] on the growth and popularity of major programming languages. While most languages remained relatively flat in growth, Python has experienced major growth over the past 6+ years.

Python Chart.png

https://stackoverflow.blog/2017/09/06/incredible-growth-python/?utm_source=so-owned&utm_medium=blog&utm_campaign=gen-blog&utm_content=blog-link&utm_term=why-python-growing-quickly

 

Just Google “most popular programming languages” or “fastest growing programming languages”, pull up any recent study or article, and almost every single one will list Python near the top. Everyone from hardcore developers to hobby developers to data analysts love Python – for all of the reasons previously mentioned. This growth, popularity, and excitement around Python means there is a massive community to lean on for support and documentation, and that same community is constantly extending the language, adding new features and libraries all the time.

 

Why Python?

We’re all looking for the fastest, most efficient, and most effective route to satisfy the needs and solve the problems of our organizations. Python, with its combination of power, efficiency, simplicity, and popularity, can help you accelerate innovation for your own business and for your clients.

 

In Part 2 of “Automating Your Business with Python”, we’ll provide some specific examples of how we’ve used Python to automate things internally here at EnterBridge, as well as for many of our clients. Stay tuned!

 

[1] https://www.python.org/doc/essays/blurb/

[2] https://instagram-engineering.com/what-powers-instagram-hundreds-of-instances-dozens-of-technologies-adf2e22da2ad

[3] https://www.connellybarnes.com/documents/language_productivity.pdf

[4] https://stackoverflow.com/questions/2560310/heavy-usage-of-python-at-google

[5] https://stackoverflow.blog/2017/09/06/incredible-growth-python/?utm_source=so-owned&utm_medium=blog&utm_campaign=gen-blog&utm_content=blog-link&utm_term=why-python-growing-quickly