Build All The Things

Published in Programming - 2 mins to read

I want to learn Python. I am bored of putting it off and saying to myself that I will learn it at some unspecified point in the future. So, I want to learn Python now.

There are two problems with this. Firstly, my attention span and concentration are both awful at the moment. Watching video tutorials and learning anything from them is going to be nearly impossible. Secondly, I have no time. I used to say that as a kind of excuse, really I had plenty of time, I just chose to spend it playing video games (which I still think is a perfectly valid way of spending one's time, if you make the active choice to prioritise it over other things). Now, I really do have no time - my entire week is divided into sleeping, the gym, working, and enough self-care time to stop me losing my mind. There's virtually no wiggle room. So, again, even if I could make myself absorb videos - I don't have the time to sit and watch them.

So... the solution I'm going to attempt to use to solve the problem is 'just in time learning'. I am going to try and build as many things as possible in Python, each one hopefully adding more complexity or exploring a new aspect of the language. Rather than learn any of it beforehand, I am going to try to learn exactly as much as I need to solve each problem as it arises, meaning I get to immediately apply anything and everything I learn to a practical coding scenario. Naturally I will have to try to reduce every problem down to its smallest possible constituent parts, a skill that will have a meaningful crossover to other languages.

Honestly, this might be a terrible way to learn a language, it's something that I don't feel gets advocated for very much. But maybe it'll be fun, and maybe it'll be better than the traditional way. Tomorrow I'll post my hello_world programme.

See other posts in the Build All The Things series