© 2019 Tim Buchalka
  • Tim Buchalka

Should I Learn More Than One Programming Language At Once?

When you're learning to program, is it useful to learn more than one programming language at the same time, or in fact is that a good idea? Let's talk about that today.



We're talking about when you're actually learning how to program, is it a good idea to learn more than one programming language at a time? In other words, should you focus on a single programming language, learn that before moving on to the next one? Well the answer is it depends.


Now firstly, I've got a post talking about goal-setting which I've done recently, so click here to check that out and that talks about the fact that it can be counterproductive if you work on a lot of things at once.


So I think for example, if you are starting out learning to program and you pick five programming languages as an arbitrary number, try to do that all at the same time, you'd find it would be fairly slow going because you've got five things you're learning at the one time. Plus you'll probably find that you'll be getting confused because you'll be switching syntaxes.


For example, you might be learning Java and you're getting used to the keywords used in that course, and then you're using Python perhaps learning that, and it's different keywords, different things you need to type to get things working. So if you're starting out and you haven't programmed before, that could be really counterproductive to actually do. So what I would recommend is perhaps stick to the first programming language and at least get the basics under your belt, the basics of things like variables, if-then loops, and decisions in other words, printing out things, all those basic things that you need to learn as a programmer. Maybe then start looking at other things, other programming languages, but even then I would still question whether there's any value in you learning two things at once or whether it be better to learn one thing thoroughly.


Now where there are exceptions though would be in something like perhaps Android. I've got a couple of Android courses, one that teaches Android app development with Java, and another one that teaches it with Kotlin. Now what can be a good idea to do there is because they're using specific languages, you could take the Android course say for Java and you could be learning Java concurrently. Now in fact, both of those courses have got a tutorial built in, one for Java and one for Kotlin, so there is a section to get you started, but it could certainly be valuable for you to actually perhaps invest in both the Android course and the Java course, the Android Java class and the same for the Kotlin course.


Obviously, the Android Kotlin course and the Kotlin programming course I've actually got as well, and you can do those concurrently. So what you might want to do is you might do a section on Android app development then swing over and do say a section on the Kotlin programming course if you want to sort of further your skills because obviously in that particular scenario, learning Android app development would be a very useful skill to have, what needs you to have good skill in the appropriate programming languages, whether it's Java or Kotlin so that would be really important.


If you're learning another framework like for example Apple app development, you know, iPhone and iPads, that uses the Swift programming language so that you can do the same thing there. You could pick a Swift programming language course and an iOS course and do that same. So in those circumstances, I would say that yes, that would be useful to do. But look, if you're starting out as a programmer, my general advice is don't put more pressure on yourself by learning multiple things because it's probably not gonna be productive, and in fact, will be counterproductive, it will hinder you.


Just in closing, I will say that myself as a course instructor and someone who's been a programmer for over 35 years, when I'm actually sitting down writing, creating say some content for my Java course, and I swing over and do the same say for a Kotlin course, I sometimes get the syntax wrong. So I'm a programmer who's been programming for 35 years and swinging from one programming language to another one, I still make mistakes until I get back into the gist of whichever programming language that I'm using. So if I'm getting caught up like that, chances are that if you're a beginner starting out, you're probably going to be getting into a lot more difficulty.


So in general, my advice would be quite simple: Learn one programming at least to a certain level of familiarity before moving on to another programming language or another framework.


All right, so I hope that helped. If you've got any questions, feel free to leave a comment and I'll get back to you.