DEV Community

Cover image for Python Explained (By a Non-Developer)
Kaylan Stock for HarperDB

Posted on

Python Explained (By a Non-Developer)

Another week, another “Explained By a Non-Developer” blog! Are you tired of ‘em yet? This round is dedicated to another cult favorite programming language, Python. Before I did any research on Python these are the things I could tell you about it (or at least things I thought I knew):

  1. It’s loved by many, and many prefer this or JavaScript while others might like old school languages like Java or C++. I See Python as another “new kid on the block.”
  2. Python is easy to learn and great for #CodeNewbies wanting a gateway into coding.
  3. Python is excellent for data science and is the most popular language when it comes to things around Machine Learning or data visualization.

And that’s the list. I didn’t even know what types of frameworks there were for Python, where it came from, reasons why there were fangirls/boys who lived by Python, or how it came to be. So let’s dive in.

How Python Became Python

So by now, I think it’s safe to say that I will be starting out each one of these blogs with a little history lesson. I think it’s pretty interesting to see how all of these technologies came to be. Python emerged on the scene in 1991 and was designed by Guido van Rossum. He also founded the Python Software Foundation at that time. It was born to help with making code a little more readable, which I find great, because it opened the doors of coding to so many more people and I am sure it helped build out a path where people don’t have to have a four year computer science degree to become a developer. If you want a more full history of where Python came from and what led Guido to design it, you can check out this article here.

By 1999 Guido decided to give a list of his goals for the programming language:

  • an easy and intuitive language just as powerful as those of the major competitors;
  • open source, so anyone can contribute to its development;
  • code that is as understandable as plain English;
  • suitable for everyday tasks, allowing for short development times.

From there, Python has exploded and does exactly what Guido hoped, it became an easy language for folks to learn to code. Since it is open source, frameworks and ecosystems have been built to make Python a go to coding language for many across the world.

What Makes Python Different (from Java, JavaScript, C++) and Where it Excels

Beyond Python being understandable, easy, intuitive, and useful for everyday tasks like rapid app development, what makes Python different and where does it beat out its “competitor” programming languages? Well as Guido stated in his goals, the code is in plain English so it doesn’t feel like you are looking at a foreign language like some other programming languages. This means people can learn it faster and develop applications and tools quicker using Python. Today, major companies use Python for building out their products including Dropbox, Uber, Buzzfeed, and Pinterest… to name a few.

Python is ideal for data science, including machine learning, data visualization and analysis. It's the preferred language for all things data science because of how easy it is to learn and use, its scalability (which in this case means it can be faster than other languages and more flexible for solving different problems), and there is a huge selection of data science frameworks available within the Python programming language. If you need to review the concept of frameworks within a programming language, you can reference my first article in this series on JavaScript here.

Scripting is another use case where Python is ideal. I didn’t know what scripting was before this blog, but after doing some research I learned that it is writing code to automate small tasks such as counting contacts that match certain criteria or making simple API calls. APIs, or application programming interfaces, are defined calls or requests for your code to perform an action. For example, an API call for HarperDB is "create_schema" and when you call that from the API, it will create a schema in HarperDB.

Django Unchained (Not the killer movie, but the killer framework)

Just as JavaScript has many frameworks beneath it, Python has an entire ecosystem as well. The most popular framework from what I have seen on the web is Django. I could be wrong, comment below what your favorite Python framework is! Django’s tagline is, “a web framework for perfectionists with a deadline” and well if I was a developer, it sounds like the perfect framework for me. It’s very high level and great for rapid app development which fits in nicely with Python as a programming language overall. Here are some other popular frameworks along with what how those frameworks are used:

Did I miss any? Let me know!

Code with Joel-Python App and Machine Learning

I would be remiss if I didn’t mention that the reason I picked Python this week is because my team at HarperDB is hosting a code along featuring our Python SDK. We have invited Joel Wasserman, a Google Engineer and Startup Founder, to walk attendees through building out a Python app with HarperDB and then training a machine learning model on the data. Joel will be using the SciKit-learn Python package to train an ML model that predicts whether it's safe to go skydiving based on weather reports. We held a similar event last month with Cassidy Williams building a React App, so if you want a taste of what to expect, you can watch her code along here.

To wrap up it all up in a nice pretty bow, I will leave you with the highlights of what I learned about Python:

  • Python was designed in 1991 by Guido van Rossum and he created Python to provide a coding language in plain English that was easy to learn and easy to use. It is open source so that folks can build upon Python, and meant for everyday tasks and rapid development.
  • Python is indeed loved by many for how simple it is and how easy it is to learn, it’s an excellent option for startups and companies looking to rapidly develop and modify a product along with code newbies trying to get their feet wet.
  • Python is excellent for data science use cases including machine learning and data visualization, while also being great for scripting and web app development.
  • There is a huge ecosystem around Python with endless frameworks including the popular Django and TensorFlow.

I would say, Guido van Rossum’s goals for Python have all been achieved and I can bet he is pretty proud of Python! If you want to practice your Python skills and learn how to train a machine learning model, RSVP to our free Python event!

Top comments (5)

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

It’s loved by many, and many prefer this or JavaScript while others might like old school languages like Java or C++. I See Python as another “new kid on the block.”

Just so you know, Java is five years younger than Python, and C++ is only five years older. So Python is no more a "new kid" than either Java or C++.

Also, Python is based on ABC, a language that Guido van Rossum was part of the development team for. ABC came out in 1987, two years after C++. It was in turn inspired by SETL, a language from 1969, which will read as spookily familiar to Pythonistas, and ALGOL 68, the parent of most modern languages.

All that to say, in terms of design, Python is the most prominent member of a separate branch of the programming language family tree than most ALGOL-based languages like C, C++, and Java. It's a first cousin of C++, and a cousin-once-removed of C.

Collapse
 
jacob_b_cohen profile image
Jacob Cohen • Edited

I still consider Python young, even if it was initially developed years ago. The growth for Python in recent years has been absolutely insane. It just recently got it's time in the spotlight and as a result has experienced better support and advancements in recent years. This article really hits on a lot of that: zibtek.com/blog/the-incredible-gro...

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

Perhaps, but then you'd have to say the same of C++, which really shifted trajectory with C++11 and has improved from there.

Collapse
 
kaystock profile image
Kaylan Stock

Oh, wow good to know! Thanks for letting me know!

Collapse
 
davidcockerill profile image
DavidCockerill

These “Explained By a Non-Developer” blogs are great Kaylan!

The majority of my classes back in uni used Python, I loved it.