Does The Programming Language You Learn Actually Matter

Written By John Sonmez

Transcript Of The Video

John Sonmez: In this video, we're going to be talking about whether or not the programming language that you learn actually matters. This is a question I get from a lot of new developers, even experienced developers that wonder if they've learned the right programming language or if they need to learn multiple programming languages. So in this video, I'm going to clear that up for you. I'm going to talk about why exactly you might want to be very careful in picking the programming language that you learn, but also why it might not really matter as much as you think.

If you guys are just joining me for the first time, I am John from simpleprogrammer.com. On this channel, we teach you the soft skills that you need to know to be a successful software developer. So make sure you click that subscribe button and join us and make sure that you hit the bell notification, so you get new videos as they come out pretty much every week here. Also, if you haven't already pick up a copy of the Complete Software Developer Career Guide, guys, this book is going to help you in your software development career. You can find that on Amazon here, but this is the tome that I wrote on software development career. And if you like the channel, you'll definitely like this book. So all right guys, so here's, what I want to talk about today is whether or not the choice of programming language actually matters.

So there's two things to consider here. So first of all, it doesn't matter in the sense that most programming languages have the same functionality, especially today, and so there's not really very much domain-specific languages that exist anymore. And what I mean by this before everyone starts to jump down, my throat is, let me explain this by saying that it used to be that there was a lot of feature differences between different programming languages.

But let's look at the arms race between C# and Java, for example. There was big differences between C# and Java when they first came out relatively. Now you can program Android apps in C# if you want to using Xamarin tools. You can program on Macs even, right? The .net framework is portable to those environments. You can pretty much program any programming language on any kind of platform at this point. Now there's obviously some exceptions to that, but for the most part, you can even find a cross compiler or something to port something from one language to another, even the same thing with JavaScript. You can use JavaScript to pretty much program anything.

As far as what the importance of different programming languages are, it's not so important anymore as it used to be. Now with that said, it doesn't mean that it's not important at all. We're going to get to that in a second, so make sure you stay tuned. Now, before we move on to that part, I do want to say that also, one of the big considerations with learning a programming language, and the reason why I am presenting this first is because for the most part, if you know one programming language and you understand how to write good code, it's going to apply to multiple programming languages. And that's really the skill that you're trying to develop as a software developer, as a programmer. That's the valuable skill. Having proficiency in a particular language is not as valuable as actually being able to write code, to write good algorithms, to be able to solve problems, to use data structures effectively, to understand things like big O notation to write efficient algorithms, and most importantly, to be able to organize your code in a logical manner, that makes it easy to read.

Those are the most important things. Clean code, look at Robert Martin, uncle Bob's book on clean code, those types of things are going to be way more important. Now, let's get to the part where it does matter. Where do different programming languages matter? So obviously, when you look at the job market, and you look at what programming languages are in high demand, what skills are being requested, that's where it matters. Now, it really matters geographically if you're in a small geographic area, and you can't move and you don't have the whole world open to you. If you live in a small town, for example, when I lived in Boise, Idaho, one of the big employers, there was Hewlett Packard.

And at Hewlett Packard, most of the code that was written there was a C/C++ mix for the printers and for a lot of the stuff that was being done in there. And so if you didn't know C/C++, then you were at a distinct disadvantage. There were some, C#, some .NET Jobs there, there were some Java jobs, HP used Java to some degree, but there wasn't really much Python jobs or Ruby jobs at that time. Now it's probably changed by now. But what I'm saying is that that's really, probably one of the biggest considerations is to think about where are you going to apply for jobs and what is the job market there? The other thing that does come into play is that there are still some domain specific languages and some languages that are better for different domains.

So for example, in the world of, let's say machine learning and artificial intelligence. What tends to dominate there? Now is it really the best language for that job? Not necessarily, but Python tends to dominate there. Why? Because there's so many libraries, because so many people who were not from a computer science background, they picked up Python as an easy language to learn, because it is a simple language to learn. And they started using that and they basically cross pollinated those fields. So when you look into computer vision, you look at artificial intelligence and machine learning, you a lot of those things. So that's something to consider. And again, it really doesn't matter a huge amount because if you needed to learn Python, but you knew C# or Java or JavaScript, or one of those languages, you could pretty much learn one of those languages.

The other places where I would say that it does matter. And it's really not a huge deal as much today, but the difference between different structures of language. So functional programming languages versus object oriented languages, versus what you would call procedural languages. There's a bit of a difference in the paradigm in the way that you program, although that's even merging today. C#, for example, would be an object oriented language. But when you looked at Lambda expressions and you look at some of the ways that it's structured, now you could write some functional type of programming within C#, although that's not the nature. F# is really more designed for that. So that's another thing to take into consideration as well. And then, the last thing I would say is it's just what you enjoy.

Because I have worked with a lot of different programming languages in my career. I've worked with everything from Java C# objective C, C, C++, Pearl, Python. I could keep on naming languages, but so many different languages. And there's been certain languages that I've really liked, and certain ones I haven't liked so much. One of my most favorite languages of all time, you've heard me talk about it on this channel a lot is C#. Why? I just feel as like it's elegant, I like the way that it works. And I like the code that I'm able to write with C#. That's another thing to take into consideration is what do you like? What do you enjoy working with? Try out some programming languages. But anyway, guys, like I said, if you haven't already click that subscribe button, join us here at Simple Programmer and make sure that you pick up the Complete Software Developer Career Guide. Check out the website as well, simpleprogrammer.com.

I've got some courses on there on how to market yourself as a software developer, how to learn anything quickly. We'll put some links down below. And any way guys, the most important thing is that you just pick something and you start learning. If you're watching this video right now, you don't know which programming language to start with, and you don't want to make a mistake. Don't worry about making a mistake, just pick something and start learning it. Don't try and learn five programming languages at the same time, just go with something and start building an application, something real with it. And then once you have those skills, then you can translate those to other languages if you want to later. But just learning the ability to code is really the critical skill, and it's pretty much universal. Like I said, it's pretty much universal. All right guys, that's all I got for you today. I'll talk to you next week. Take care.