A Gateway to Programming

Initial Obstacle

Believe it or not, the biggest initial obstacle I faced when learning Python was installing the basic tools I needed. HTML and CSS were more accessible to me by the simple fact that I didn't need to install anything in particular to start learning. However, learning a programming language like Python was different. I felt like I needed to do some homework before I even began to learn.

Python 2 and Python 3

When you start to learn Python you will see that you are met with two different versions. From what I can gather so far there is little difference between the two. The most obvious distinction I have seen is the difference in how print works. Print is used to print output to the screen. In Python 3 print is a function whereas in Python 2 it is a statement:

Python 2 print statement:

print "Hello World"

Python 3 print function:

print("Hello World")

As you can see the only syntactical difference is the brackets needed to execute the print function in Python 3

You can read more about the differences between Python 2 and Python 3 here.


At the most basic level you will need to first install a verion of Python on your Mac or PC. You can go to Python.org to download either Python 2 or Python 3. You will then need a text editor and either terminal on the Mac or command prompt on Windows. A popular text editor that I like to use is Sublime Text .

Where I ran into confusion was the fact that my Mac already came pre-installed with Python 2. Therefore when I wanted to run a script I was often running the wrong version of Python. I also had to do what seemed like a lot of reading and poking around because programming was still very foreign to me.


I later learned about online IDE's like repl and Codeskulptor . As a beginner programmer or someone who is just curious about programming, these tools are invaluable. These tools mean that you can play with Python online. You can run your first "Hello World" program without a single installation. If I were to begin again I would start tinkering around with online IDE's as my first port of call.


Did you find this blog post useful? I am continuously looking for ways to improve on the content so that my readers have the best experience possible. If you have any insights, questions or recommendations feel free to leave a comment or drop me an e-mail.