DEV Community

CodingBlocks

Why is Python Popular?

We dig into all things Python, which Allen thinks is pretty good, and it’s rise in popularity, while Michael and Joe go toe-to-toe over a gripe, ahem, feature.

We realize that you _can_ use your podcast player to read these notes, but if you didn’t know, this episode’s show notes can be found at https://www.codingblocks.net/episode152. Check it out and join the conversation.

Sponsors

  • Datadog –  Sign up today for a free 14 day trial and get a free Datadog t-shirt after creating your first dashboard.
  • DataStax – Sign up today to get $300 in credit with promo code CODINGBLOCKS and make something amazing with Cassandra on any cloud.
  • Linode – Sign up for $100 in free credit and simplify your infrastructure with Linode’s Linux virtual machines.

Survey Says

Anonymous Vote
Sign in with Wordpress
What's your favorite Python feature?
  • All the ML libraries.
  • The Jupyter Notebook support.
  • pip install everything I need.
  • The virtual environments are the best.
  • I require a lot of matrix multiplication.
  • It's so easy to visualize data.
  • It's not Java.

News

  • The Coding Blocks Game Jam 2021 results are in! (itch.io)
  • Our review page has been updated! (/review)
  • Ergonomic keyboard reviews:
    • Kinesis Advantage 2 Full Review after Heavy Usage (YouTube)
    • Ergonomic Keyboard Zergotech Freedom Full Review (YouTube)

Why Python?

A Brief History of Python. Very Brief.

  • Python is a general-purpose high-level programming language, which can be used to develop desktop GUI applications, websites, and apps that run on sophisticated algorithms.
  • Python was created in 1991, before JavaScript or Java, but didn’t make major leaps in popularity until 1998 – 2003, according to the Tiobe index.
    • Coincidentally, this lines up with the early days of Google, where they had a motto of “Python where we can, C++ where we must”.
  • In 2009, MIT switched from Scheme to Python, and others in academia followed.

Some Python Benefits, But Only Some

  • It’s an easy language for new developers as well as those who don’t consider themselves developers, such as data scientists or hobbyists, but have a need write some code.
  • Python has a great standard library when compared to languages like JavaScript that largely rely on third party libraries to provide depth in functionality.
  • It’s cross platform. As long as we’re talking OS.
    • Mobile? Not really, as that space is consumed with Swift, Java, and Objective-C. But with things like Pythonista, you can write and execute Python on mobile.
    • Web? No, at least not on the client side. That space is dominated by JavaScript. But with frameworks like Django and Flask, you can use Python on the server side.
  • In addition to the standard library, there are also many great/popular third party libraries, like NumPy, that are available on PyPi.

The Downsides to Python

  • Performance when compared to a natively compiled application because it’s a dynamic, interpreted language.
    • Which brings up the late binding type system.
  • The lack of mobile and web presence as previously mentioned.
  • Legacy issues when dealing with v2, which is still in use.
  • Language features that haven’t aged well, such as PEP-8.
  • Quirks like self, or __init__, private functionality, and immutability.

Resources We Like

  • The Python Programming Language (Tiobe)
  • Heavy usage of Python at Google (Stack Overflow)
  • The Incredible Growth of Python (Stack Overflow)
  • 2020 Developer Survey, Top Paying Technologies (Stack Overflow)
  • What makes Python more popular than Ruby? (Reddit)
  • 2020 Developer Survey, Most Loved, Dreaded, and Wanted (Stack Overflow)
  • Top 10 Python Packages For Machine Learning (ActiveState.com)
  • 56 Groundbreaking Python Open-source Projects – Get Started with Python (data-flair.training)
  • Top 10 Python Packages Every Developer Should Learn (ActiveState.com)
  • Choosing the right estimator aka the scikit-learn algorithm cheat-sheet (scikit-learn.org)
    • Previously discussed as a Tip of the Week during episode 92, Azure Functions and CosmosDB from MS Ignite (/episode92)
  • Introduction to Celery (docs.celeryproject.org)
  • Is it possible to compile a program written in Python? (Stack Overflow)
  • Pythonista 3 – A Full Python IDE for iOS (omz-software.com)
    • Previously discussed as a Tip of the Week during episode 88, What is Algorithmic Complexity? (/episode88)
  • Flask – Web development, one drop at a time (flask.palletsprojects.com)
  • Django – A high-level Python Web framework that encourages rapid development and clean, pragmatic design. (DjangoProject.com)
  • PyPi – The Python Package Index (PyPI) is a repository of software for the Python programming language. (pypi.org)
  • Ten Reasons To Use Python (cuelogic.com)
  • Top 10 Reasons Why Python is So Popular With Developers in 2021 (upgrad.com)
  • Python – 12. Virtual Environments and Packages (docs.python.org)
    • Python’s virtual environments have been mentioned as a Tip of the Week twice: first during episode 102, Why Date-ing is Hard and again during episode 140, The DevOps Handbook – Enabling Safe Deployments. (/episode102, /episode140)
  • PEP 8 — Style Guide for Python Code (python.org)
  • The Gary Gnu Intro With Knock Knock – The Great Space Coaster (YouTube)
  • Datadog has a blog article for everything:
    • Tracing asynchronous Python code with Datadog APM (Datadog)
    • How to collect, customize, and centralize Python logs (Datadog)

Tip of the Week

  • It’s easy to get the last character of a string in Python: last_char = sample_str[-1]
  • Follow us on Twitch:
  • Install the Git cheat NPM module to use git cheat to easily see a Git cheat sheet in your terminal. (GitHub)
    • gcloud has a built-in cheat sheet. Use gcloud cheat-sheet to access it. (Google Cloud)

Episode source