Snake your way into programming with Python
Snakes can be a peculiar thing. Some people hate them, and others love them but no one can deny their — wait, what? Oh, the development language. Who’s ready to talk about Python?
Versatile and practical, Python is often used as a “scripting language” for web applications. This means that it can automate specific series of tasks, making processes more efficient. Its origins lie all the way back in December 1989, putting in firmly in my high school days. (Yes, I am dating myself.)
An open source angle
Python is an open source language. At its simplest level, “open source” programming is merely writing code that other people can freely use and modify. This doesn’t mean all your programming worries are over. You get the language compiler and a bunch of snips of code for free … but, use them wisely — you never what sort of bomb that could be waiting.
Now, you’ve heard the old adage about becoming a master, right? “So simple it only takes a minute to learn the rules, but so complex it requires a lifetime to master.” Writing open source code is a pretty similar experience.
It’s easy to chuck a few lines of code up on GitHub, Bitbucket, SourceForge, or your own blog or site. But doing it right requires some personal investment, the likes of which require real commitment.
Where did Python come from?
Python was created by Guido van Rossum (the Python community’s Benevolent Dictator for Life) as a hobby project to work on during the week around Christmas. Python is famously named not after the constrictor snake, but rather the British comedy troupe Monty Python’s Flying Circus.
(We’re quite thankful for this at Packt — we have no idea what we’d put on the cover if we had to publish “Monty” programming books!)
Python was born out of the ABC language — a terminated project of the Dutch CWI research institute that van Rossum worked for — and the Amoeba distributed operating system. When Amoeba needed a scripting language, van Rossum created Python.
One of the principle strengths of this new language was how easy it was to extend, as well as its support for multiple platforms — a vital innovation in the days of the first personal computers. Capable of communicating with libraries and differing file formats, Python quickly took off.
Characteristics of Python
Python has three iterations. One existed from the beginning, the second was born out of Python users asking themselves, “What if Rossum died?,” and the third, which is not widely adapted yet, is “Version 3.” This version is not widely used, because the brains behind the effort collectively thought that blowing up the entire system with no backwards compatibility would be best. It hasn’t caught on … yet.
Python is slow, an acknowledged slowness that all programmers agree on. As to whether end users notice a lag — What is .1 seconds compared to .01? — most think not. Despite being slow, however, Python is famous for its simple programming syntax, code readability, and English-like commands that make coding in Python lot easier and efficient.
It is highly productive compared to other programming languages like C++ and Java. It is a much more concise and expressive language and requires less time, effort, and lines of code to perform the same operations. If you value high-performance and have a pool of developers who understand how to code in faster languages, then you may want to choose another language.
Python has a really active support group. The community is large and growing, so it benefits from a shared collaboration. It has robust corporate sponsorship (namely from Google). It is compatible with big data and has large libraries, yet remains a very accessible language to newcomers and veterans alike. All of the people I have talked to tell me that it is relatively easy to pick up.
Powered by Python
Since Rossum used to work at Google, Python is heavily used there. CERN and NASA use it to break down large data sets. (Data doesn’t get much bigger than looking at black hole data sets, or the building blocks of the fabric of the universe.)
It can be used on AI projects, which is what Google is currently using it for. Rossum moved over to Dropbox and took his knowledge with him, which is why they use it on a large portion of their source code engine.
At least at present, a great deal of data analytics is being done with Python. Thus, it should come as no surprise that there is a large offering of training and certification programs out there for any skill level.
Python training and certification
The standard universities are all offering Python coursework and certificate programs. Stanford, Washington University in St. Louis, University of Michigan — a lot of big-name schools are offering classes geared toward the language and its use. You can go on Coursera and dial up one of these classes for individuals who train in their spare time. Any one of these avenues of learning is a smart move.
As far as certifications, it is hard to put a bow on a “free” programming language. This is to say, the certifications are more of a learn, apply, receive certificate … rather than a practice, show, certify. The Python certification from University of Michigan is top of the list:
“This Python certification will teach you how to Program and Analyze Data with Python. This online program, taught by Charles Severance, Associate Professor at the University of Michigan, will introduce you to foundational programming concepts including data structures, networked application program interfaces, and databases using Python. After the completion of the core concepts, you will get an opportunity to work on a final Capstone project and implement the skills you have acquired throughout the lectures.”
With other universities and individuals offering coursework on Coursera and Udemy, you can have your pick of options that match your learning style. No matter you end up learning, I wish you the best of luck — and happy certificate day.