Learn to Code – But Which Language?

There is a lot of great articles and advice out there on which programming language to start learning first. You want to learn to code but what to learn first? Lifehacker has a great one here for example. I will very briefly summarize my thoughts:

  • Start with Python or Java – I would choose Python but Java can be used in Android programming
  • Then get into mobile development – Swift for iOS, Java for Android – My heart says iOS but you can’t deny the Android market share!

What about front end development you say? Sure. You could then learn HTML, CSS and Javascript for front end (client) web site development. Personally, I don’t think that is very interesting and I don’t think it’s where the real valuable skills can be built. There are many tools and templates to use (i.e. Bootstrap) to make a decent looking and functioning website. You could learn the bare minimum to use something like this or have someone do it for you.

Mobile is on such a growth path that you could just simply start with mobile development – iOS or Android. Probably (sadly), Android (I am an Apple fan!).

But wait – There is something no one is mentioning much.  Something you need to know early on in your learning. Perhaps even first! What is that you ask? Software engineering fundamentals!! It is crazy that this is not mentioned much. Sure, it is good to learn about variables and functions and classes and inheritance, blah blah blah. Great!! But without some fundamentals, you will soon have a rats nest of code that is impossible to build upon or fix. Both of which you’ll want to do!. We’ll talk about that soon.

What do you think? What do you want to learn first and why?