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):
- Python is easy to learn and great for #CodeNewbies wanting a gateway into coding.
- 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.
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.
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)
- Pyramid- full stack framework
- web2ply- full stack framework focused on ease of development
- TurboGears- a highly scalable framework for Python
- NumPy- a top general purpose data science framework
- Scrapy- popular framework for data science
- TensorFlow- the best framework for machine learning
- Keras- a popular neural network library for Python
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.