When Python became more than an 'Afrasian' snake

Language learning helps me learn to code
 
It is difficult to see the bigger picture when you haven't previously seen it in a different field. In my experience, there is no such thing as a completely unrelated field. In every field I have studied I have seen the presence of fundamental underlying principles. While seeing the bigger picture once doesn't guarantee I will see it again in another domain, it does mean that I have a solid point of reference. When I have a point of reference it is easier for me to recognise what I am looking at to begin with. One practical overlap is the fact that syntax and semantics are frequently spoken about in both linguistics and programming. They are spoken about in pretty much the same manner because we are dealing with languages in both fields, it's just in one field we swap a human out for a computer.
 
Why Python?
 

It took me a few months before I made my final decision to commit to Python. DuringPython_Logo this time I briefly flirted with JavaScript, Ruby on Rails and PHP. I don't view this as wasted time or a period of slight procrastination because, among other things, this allowed me to see that becoming good at one language would make it easier to learn another. This is largely because the semantics behind the language remains static by nature, while the syntax and the purpose of the language dynamically changes. Shakespeare once wrote in Romeo and Juliet;

' A rose by any other name would smell as sweet'

I am now going to butcher this phrase and say that in programming;

'A loop by any other is still a loop'

Once you learn to think like a programmer you don't need to relearn it, you just need to work on becoming a better programmer by widening and deepening your understanding. The exact same approach is found in the field of linguistics and language hacking. I firmly believe that a minute spent properly planning and organising myself is worth hours, days or even months to my future self. I wanted to choose the language that I thought was the most versatile and had a relatively simple syntax. Based on this criteria Python was the language that stood out for me.

Python Focus

A few online videos, books and courses later I found my current Python mentor. He seemed to have a similar way of looking at things, but with a lot more domain experience and expertise. This gave me hope because I seemed to have made a good decision with a shallow conceptual understanding of programming. My choice was based primarily on my experience with online learning and from conversations with a friend who had taught himself Ruby on Rails. I believe in the maxim that I need to be a good generalist to become a great specialist and so far I feel it hasn't steered me too far wrong.

 
Here is a video from my current Python mentor Rafeh Qazi explaining why he sees Python as a good choice for a 'newbie' coder. He gives an overview of different programming languages and what they are used for. He explains why a student would choose Python and why he/she might consider learning more than one programming language. Qazi also talks about human languages in relation to programming languages, this makes this video a lot more accessible to complete novices:

https://www.youtube.com/watch?v=iH4JJuoHQHc

New2Code is a website created by William Kennedy. William is a self taught ruby on rails developer, one of the areas he focuses on is soft skills for computer programmers.
 

Fun Fact: Python actually refers to the British comedy show Monty Python. Teachers of Python often use variables names such as 'spam' and 'eggs' in their code rather than the more frequently used 'foo' and 'bar'.

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.