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
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:
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:
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. Usegcloud cheat-sheet
to access it. (Google Cloud)
-