Python Basics

Python is a programming language that has found incredible success, largely due to the fact that code written in it is readable and things just work. While it isn't the most popular programming language yet, it will be in the next few years. It runs the backends of many giant companies, but also is the dominant language for data science, and is the language of choice for many people who need to move fast and get things done.

Again, no language is perfect. There are tradeoffs with all languages, some do better than others at various activities, some are worse. Python is the most straightforward language to write code and do things with, and has the best documentation examples for you to work off of. It is considered to be "slow", but when people tell you that, ignore them and continue writing your code. You will be done writing your program by the time they start trying to troubleshoot why their program doesn't work. Don't argue with people about programming languages, anyone who does that for fun is the worst. Just let them have it.

What is Python?

Python is a language developed primarily by Guido van Rossum, the affectionately named 'Benevolent Dictator for Life'. He began work on it in 1989 and since then thousands of people have contributed to the core code base, and even more have written modules and extensions to allow more to be done with the language. Potentially the most important design consideration for the language was that it was developed to be highly extensible, making it as easy as possible for people to build extensions to allow programmers to use others' code in order to do more with less lines of code.

Other aspects of the Python philosophy are:

  • Beautiful is better than ugly.
  • Explicit is better than implicit.
  • Simple is better than complex.
  • Complex is better than complicated.
  • Readability counts

Overall, Python is often described using the words: High level, interpreted, dynamically typed, garbage collected, readable. For the assignment you'll define those. Don't worry about what dynamically typed means right now.

As a fun note, the language is named for Monty Python's Flying Circus, a legendary British comedy show from the 70s. I really recommend you watch some of their sketches, or the movie Monty Python and the Holy Grail. It's on Netflix, but many of the sketches are on Youtube.

Assignment:

  1. What is the difference between interpreted and compiled languages? Which is Python?
  2. What is the importance of readability in a language?
  3. What is a garbage collected language? Why does that make it easier for programmers.