Real Python - When is Python the right choice?

Hey there,

When I grew up in Germany as a kid there was this craze about “desks that can grow with you.”

The idea was you’d buy your kid an adjustable desk and then they’d be able to use it throughout their whole education career.

As your kid grows taller, so does his or her desk.

Just turn the little crank handle every few months...

And voila, you're right on track for raising the next Albert Einstein or Marie Curie.

I think Python is a great “adjustable desk” language.

With the small but important difference that Python is also a much prettier desk.

One that you wouldn’t be embarrassed of using past elementary school.

And one you’d be okay with showing to your girlfriend/boyfriend.

(Okay, time to stop with that desk analogy.)

My point is this:

What I love about Python is how it scales so well—from writing simple prototypes to validate an idea, all the way to building "production grade" systems.

Sure, sometimes it would be nice to have a compiler and static type checks to lean on—but often I realized that I would've never come this far in so little time with Java or C++.

(And with optional type hints in Python 3 and type checking tools like MyPy this gap is starting to close.)

But not only does Python scale and grow with the project at hand, it also scales and grows with your skills as a developer.

It's relatively easy to get started with Python—but it's not going to prevent you from growing as a developer and getting impressive real-world work done with it.

My friend Michael Kennedy refers to it as a "full spectrum" language. And I really like that as an analogy.

Python spans the gamut from "print('hello, world')" all the way to running the back-end infrastructure for massive applications like Reddit, Instagram, or YouTube.

Now, is using Python ALWAYS the right choice?

No.

No single programming language is.

For example, it's unlikely you're going to write a real-time operating system kernel in Python.

Neither will id Software use it to implement their next-generation rendering engine...

But millions of developers around the world are using Python to build web applications, write data-crunching pipelines, generate reports, automate tests, conduct research, and do all kinds of other amazing work in a multitude of domains.

By learning Python you're not limiting yourself to a specific niche.

And that's what I really like about this adorable, "adjustable desk" of a language.

Happy Pythoning!

— Dan Bader (RealPython.com)

Older messages

New Python tutorials on Real Python

Saturday, May 2, 2020

Hey there, There's always something going on over at realpython.com as far as Python tutorials go. Here's what you may have missed this past week: The Python pickle Module: How to Persist

New Python tutorials on Real Python

Saturday, April 25, 2020

Hey there, There's always something going on over at realpython.com as far as Python tutorials go. Here's what you may have missed this past week: Effective Python Testing With Pytest In this

A story about Python mastery

Friday, April 24, 2020

Hey there, A couple of years ago I'd become quite interested in martial arts. Hours upon hours of watching "The Karate Kid" growing up must've taken their toll on me... And so, I

last call

Thursday, April 23, 2020

Hey there, Just a quick heads up that our PSF Fundraiser discount on Real Python expires in just a few hours. -> Claim your discount + support the PSF — Dan Bader To make sure you keep getting these

Support the PSF & Improve your Python skills [Update]

Wednesday, April 22, 2020

Hey there, Quick update, so far we've already collected almost $1000 for the Python Software Foundation (PSF) with our charity sale and donation drive: Image If you're wondering what this is

You Might Also Like

Welcome to How-To Geek Newsletters

Thursday, November 28, 2024

How-To Geek Logo Hi, Welcome to the How-To Geek newsletters! We're delighted to have you as part of our community! Our newsletter includes highlights of the best stories, instructive how-to manuals

💻 Issue 438 - Hidden NET 9 gems

Thursday, November 28, 2024

This week's Awesome .NET Weekly Read this email on the Web The Awesome .NET Weekly Issue » 438 Release Date Nov 28, 2024 Your weekly report of the most popular .NET news, articles and projects

💎 Issue 445 - Rails is better low code than low code

Thursday, November 28, 2024

This week's Awesome Ruby Newsletter Read this email on the Web The Awesome Ruby Newsletter Issue » 445 Release Date Nov 28, 2024 Your weekly report of the most popular Ruby news, articles and

💻 Issue 445 - Deno vs. Oracle: Canceling the JavaScript Trademark

Thursday, November 28, 2024

This week's Awesome JavaScript Weekly Read this email on the Web The Awesome JavaScript Weekly Issue » 445 Release Date Nov 28, 2024 Your weekly report of the most popular JavaScript news, articles

📱 Issue 439 - Google's iOS app now injects links on third-party websites that go to Search

Thursday, November 28, 2024

This week's Awesome iOS Weekly Read this email on the Web The Awesome iOS Weekly Issue » 439 Release Date Nov 28, 2024 Your weekly report of the most popular iOS news, articles and projects Popular

💻 Issue 363 - 7 challenges to do before a React interview

Thursday, November 28, 2024

This week's Awesome React Weekly Read this email on the Web The Awesome React Weekly Issue » 363 Release Date Nov 28, 2024 Your weekly report of the most popular React news, articles and projects

💻 Issue 445 - Mastering JavaScript Event Delegation

Thursday, November 28, 2024

This week's Awesome Node.js Weekly Read this email on the Web The Awesome Node.js Weekly Issue » 445 Release Date Nov 28, 2024 Your weekly report of the most popular Node.js news, articles and

📱 Issue 442 - Static, Dynamic, Mergeable, oh, my!

Thursday, November 28, 2024

This week's Awesome Swift Weekly Read this email on the Web The Awesome Swift Weekly Issue » 442 Release Date Nov 28, 2024 Your weekly report of the most popular Swift news, articles and projects

💻 Issue 440 - Nio: An Async Runtime for Rust

Thursday, November 28, 2024

This week's Awesome Rust Weekly Read this email on the Web The Awesome Rust Weekly Issue » 440 Release Date Nov 28, 2024 Your weekly report of the most popular Rust news, articles and projects

Data Science Weekly - Issue 575

Thursday, November 28, 2024

Curated news, articles and jobs related to Data Science, AI, & Machine Learning ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏