Day 0 - Preamble

Aug 25, 2015 at 03:48 pm, by Pierre Liard

Here I am, with this maybe strange idea to chronicle a journey through the mind to learn a new coding language. To be totally candid, I have already some knowledge of it, but I gave up in the middle of the ride, not because of a lack of commitment, but because the road was kind of rocky.

You may wondering what I am talking about. There are dozens of different coding languages, all with their strengths and quirks. Moreover, what is so special about this journey that it needs to be in writing. Nothing, I guess, except that it will allow me to discover something I didn't know about. What is unforgettable in any trip is the journey itself, and the people we meet along the road. Wherever you go, step by step, it will progressively open your horizon and make you do things you thought were impossible beforehand.

Come on, you must say, coding is just simply boring, geeky and so...incomprehensible. It's what I also believed only a few months ago. I have always liked computers, especially opening them, removing the components and trying to guess the purpose they have been built for. But it wasn't enough! What could possibly make work these clunky pieces of electronics?

Maybe some of us remember the first IBM personal computers. You flipped a switch and .... nothing. The cursor was blinking, waiting for you to insert a floppy disk in the appropriate slot. After a relatively long time (compared to today's booting time), the yellowish or greenish display started to become alive. The magic just had begun! Fast forward to present, you still flipped or pressed a switch, and the wizardry is still here, even though almost nobody sees it anymore!

I don't know if you're like me but I like to understand what I am doing. So I decided to dig into the world of programming. I cannot describe well enough how weird it looked like at first. Impossible words, incomprehensible concepts, books so thick I was wondering if anybody ever reads them. After a few weeks, I started to find my way with C#, at least I thought so. The online tutorial I was taking was so confusing I couldn't distinguish between classes, interfaces, properties, methods, constructors...It was just in my head a gigantic mess! I had to do something.

I took a detour. I bought last November my first Mac ever. Why I waited so long, nobody knows, but it was like the light bulb went suddenly on. I had to learn coding again. I browsed the web for long hours before finding a tutorial from Rob Percival called The Complete Web Developer Course - Build 14 websites. At the time this course had only a few thousand students. The title wasn't deceiving: it is really an almost exhaustive introduction to web development. 29 hours of content, 235 lectures...Ouch, it wasn't for the weak of heart.

Rob is a former mathematics teacher in the UK, and you can tell by the way his course is structured. No fluff, just facts explained simply with real world examples. A few days after I subscribed to his class, Rob released a new tutorial, this time dedicated to Swift, the new programming language that Apple had just released a few months back. Finally it was my time to start learning to code. However, like everybody knows, the best laid plans always have some setbacks. Probably because of the novelty of the subject and the frequent changes brought by Apple to Swift, the course was often in a beta stage. Not a disadvantage in itself, this uncertainty created some legitimate frustrations that Rob tried solving most of the time. In addition, I had some difficulty to understand the language itself. It seemed at times convoluted and too "verbal" compared to the short C# code. I was however very interested in the possibilities offered by this platform and fought my way until I completed 52% of the class. At that point, I threw in the towel because of too many problems between the course and the evolution of Swift.

When Rob upgraded his tutorial to Swift 2 The Complete iOS 9 Developer Course - Build 18 Apps , I was hesitant at first, mostly because Swift 2 has still to be released to the general public. I listened nevertheless to the first lecture, and the following statement grasped my attention: In just 6 weeks, you will be building marketable apps like Uber or Instagram using the incredible new Xcode 7 and Swift 2. It made me think: why not chronicle whether it is possible to learn a new programming language in this relatively short period of time? Why not also kill two birds with one stone, by using what I learnt with Rob and others in web development.

So I am at the beginning of this new journey: 42 days to learn an almost completely new programming language. There are 200 lectures waiting for me. That means that I need to complete an average of almost 5 lectures per day (4.76 exactly), or about 41 minutes of videos. It seems reachable in theory, but it will probably take longer because I need also to practice what I will learn in each lecture. It's more likely I will spend 2 to 4 hours a day to achieve my goal. Only the future will tell whether I will reach my objective. Everything is uncertain in this life, except in the words of Benjamin Franklin, death and taxes! Now that the stage is set, it's time to start this 42 days journey. Eventually!


Leave a comment

Login to comment a post