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 
CODINGBLOCKSand 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 cheatto easily see a Git cheat sheet in your terminal. (GitHub)- 
gcloudhas a built-in cheat sheet. Usegcloud cheat-sheetto access it. (Google Cloud) 
 - 
 
CodingBlocks