By John Sonmez January 18, 2018

Which Programming Language Should I Learn First?

One of the most common questions I get from new programmers starting out in the field of software development is, “Which programming language should I learn first?”

For some aspiring developers, this question ends up being a stumbling block they never get over.

I’ve coached plenty of developers who were always second-guessing themselves or changing their minds, jumping from programming language to programming language, always worrying about making the wrong decision. They stress over the question, “What programming should I learn?”. If you’ve stressed over this, then this video is for you.

First, I’m going to dispel some of that doubt; then I’ll give you some real practical considerations for choosing your first programming language to learn.

So… What programming language should beginners learn first? Watch this video and find out!

Transcript Of The Video

John Sonmez: I'm going to do a programming live video today. I promised my company, my fellow Simple Programmers, that I would make a video on YouTube about programming and not just about being a bulldog, even though I love making videos about being a bulldog. Check out the video here. Today, I want to talk to you. I want to answer the question of which programming language should I learn first. I've gotten this question a lot of times. What programming language should I learn first? Which programming language is the best? Which programming language should a beginner start with? If I'm a new programmer, what language should I learn? What programming language is best? Which programming language should I learn first?

Have I said enough times? Am I saying this just for SEO purposes? You'll never know. Am I making this whole video just for SEO purposes? You'll never know. I am. No. There's some validity to this as well, but, you know, I got to have a video about this because this is an important topic so I'm going to answer the question for you. What programming language should I learn first?

Now, I have an opinion on this that has changed over time. Even though I'm a C# fan boy and you've seen me talk about C# all the time, I actually have—I'll tell you this. Again, before I give you my actual answer, I want to make sure that I'm being clear here that—I have to be honest, with my honest side of myself to tell you—hopefully, there's a large part of my honest side of myself. If you watch this channel, if you subscribe, if you haven’t subscribed already, click the Subscribe button. You'll see. I just am totally transparent. I say too much stuff. I'm too honest on this damn channel. So, if you want an honest opinion of shit that people won't give you honest opinion, that's why you need to click Subscribe.

Anyway, what I have to tell you, first of all, is that what programming language you choose doesn’t actually matter all that much. I know that's going to make some people have to take some deep breaths and get all upset about this. It's okay, it's cool, but it's really true. It's really true that it doesn’t matter so much. It's that like most programming languages today can handle just about any task. It doesn’t mean there's not some programming language that are better for a certain task. There, of course, are, but—like programming languages have come a long way. A lot of the features have cross pollinated between languages. Honestly, there's a lot of good choices. What's important is that you just choose one. I'm going to plug my book here. I didn’t say that I plug something on my YouTube channel, but the Complete Software Developer's Career Guide. I have a chapter specifically in here on the whole section on how to get started as a programmer, and there's a chapter on—let's see. What does it call? It's chapter five. What Programming Language Should I Learn? You could say what programming language should I learn first and then there's a chapter on how to learn your first programming language.

I'll spare you some of it, but you should definitely get the book if you haven’t already. It's like 800 pages. Essentially, it doesn’t really matter which programming language you learn first. What matters is that you pick one and that you don't scattershot this all over the place and learn multiple at the same time, especially if you're a beginner, and that you become really good at one that you go in depth and learn it the right way. Again, I've told you about that in the book. I will do—you can probably find it on this channel too. I'm not trying to like say, “You got to buy the book. I'm not going to give you knowledge.” There's no secrets. I'll tell you everything you want to know on this channel, but there's like 2000 videos. The book is more condensed like focused things and all my courses are like that, by the way. I'm not going to plug those right now, but just to let you know why would I give away information and then have secret. I don’t have secret information. I have organized information. Organized information is really fucking valuable. I'll pay a lot of money for someone to organize information for me, so I don't have to drink from the fire hose.

With that said though, like I said, it's not so important which programming language you learn first. There are some factors. I mean obviously like—you should pick an easy language to learn so you don’t get discouraged. You should pick something that's popular that's going to be marketable if you're trying to get a job as a software developer. Those things, those factors definitely I would take into consideration. Again, don’t hinge so much on this stupid choice like a lot of times—the reason I'm going to emphasizes this before I give you an actual recommendation which I will give you one. The reason why I'm going to say this so much before I do that is because I really want you to understand that so many people in life, especially new programmers, people starting out in any kind of endeavor, they spend so much time in the analysis stage trying to make sure they're making the right decisions, trying to prevent themselves from making the wrong decisions, but they never actually take real action. They get discouraged. They never go anywhere and they waste their time.

One of the best ways to actually like figure out what is right is to figure out what's wrong. Make wrong decisions. Don’t be afraid. I mean don't be stupid and don’t be rash like analyze things. Once you got enough information like you're just going to make decisions and got to go with it, and you got to realize that you're never going to know if something is 100%. Like you're never going to know before you make a decision. Good leaders, good entrepreneurs, good programmers, good decision makers in general, are able to make decisions with not enough information and are willing to fail and be wrong and course correct, change the till. I was going to do steering wheel, but I decided to go with the boat thing. Change the tiller. Is it tiller? I don’t know. See, I should have went with steering wheel. See, look bad choice, wrong choice. I made a wrong choice. Big fucking deal.

Okay. Are we good? Are we clear on that? All right. Now, I'll give you what I would say and then we'll start a whole religious war here on the comments section, but I would say Python today. Honestly, this is what—it's like it's almost 2018. It's like 2017, end of 2017 here. Today, if I were starting on—this is change over time. My opinion has changed on this. I'm going to pick Python for beginner, for starting out. Even though I'm not really good at Python. I only have a cursory knowledge of Python. I've only programmed in Python a very small amount. C# is my strongest language. If I have the strong one now, it's been some time since I was a programmer and not a self-development guru or whatever it is. Not that I'm a guru, but like this guy that teaches you how to become a bulldog and like achieve all your fucking dreams in life, and get checks and get laid and all that kind of stuff. It's been a while since I left that other life behind.

My point is this, is that like Python is a really good beginner language. It's really easy to learn. There's so many resources. One of the things that influenced my opinion on this is that I see so many good books on Amazon about Python and how to get started, like a lot of the beginner programming books are about Python. I know you're going to find a lot of good resources. I also happen to have some friends that are very involved in computer vision, and AI and sort of—we're really kind of the future of the scientific aspect of programming and computer science is going where there's going to be some big bucks in the future here in these areas. These guys are all Python guys. They're using Python in that realm and that's a highly valuable like automation, self-driving cars, robotics, computer vision, even neural networks and some of that. A lot of is in the Python realm.

To me, to give you a logical analysis here, plenty of jobs already. Really easy to learn. It's a good language. It's a powerful language. A lot of people are using it. There's a lot of resources out there that may—I may be duplicating one here, but—and there's high, lucrative opportunities. There's a like a very high upper end for really advanced type of stuff that you can do that's cutting edge in the technology—for me, that like checks all the dots. You check the dots. That checks all the boxes. It dots all the I's that I would want as a beginning programmer, trying to learn a new programming language.

Again though, I have to emphasize that if you choose something else, it's fine. It's totally cool. It's not a big problem, but you do want to take into consideration where you are geographically, what kind of jobs are available if you're trying to get a job, what you like, and in kind of way you're trying to do. I mean if you're trying to build iOS apps, no. No Python, no. Let's not—I mean maybe you can. I'm sure there's some way to build iOS apps with Python. I'm sure there's going to be people that are going to comment and tell me that there is. I'm sure there is. If there's not, there should be. Swift, Swift. If you're trying to build iOS apps, Swift. You see what I'm saying?

You got to think about that kind of thing. In general, if you just want to become a programmer and you're trying to pick, it doesn’t matter which language I learn, Python is probably a good one. You can do all kinds of stuff with Python. Yeah, there you go. That's my opinion. Feel free to get all crazy in the comments section.

Like I said, if you haven't subscribed, you know, obviously, this video is somewhat SEO like I'm being honest with you like some people are going to get pissed off, but it's like, “Did you suspect that this was kind of SEO, kind of a click, baity video?” All right. Now, I'm confirming it by telling you honestly. Now, you're more upset or you're less upset. I hope you'd be less upset. With that said—I'll tell you something. Let's get full disclosure and let's bare our hearts. Let's take off our—No. Let's not take off our shirt.

Okay. Here's the thing. My channel, Simple Programmer, is all about becoming the best version of yourself. It's about self-development and personal development. It may actually even bounce out of the programming realm at some point and just become a general purpose, but I give you real fucking truths here to improve your life, to become the best version of yourself. Especially, it's geared towards a lot of software developers, if you're a software developer or a programmer, and the struggles that you face. I used to be shy. I used to have social anxiety, afraid to talk to girls, had laziness problems, big laziness problems, had procrastinated, didn't know how to be productive, didn’t know how to invest and make money and to become an entrepreneur. I figured a lot of that stuff out and I share that with you. Share you how to become what you want to become in life. I was not fit. I was a fat fucker at one point in my life.

Anyway, the purpose of this channel is all of that stuff, but here's the thing and this is why I make some of these videos             like this even though I think that it's valuable advice as well is that people don’t search on YouTube like you—if you found my video, you're not looking for like how to be fit as a programmer or personal development for programmers. People just generally aren't searching for that because they don't realize how valuable that is. What people are searching for is things like what programming language should I learn first and this is also an explanation to my existing audience, they wonder, “Why does John make these random videos sometimes?” It's because people are searching this. I have to make a certain number of videos for this business model to work or actually to get people to actually find me that are good SEO ones that are people are actually searching for.

It's kind of the strategy of I give you what you want and then I give you what you need. You come looking for one thing and then, hopefully, if you're new to this channel, if you're just seeing this video, you're like, “Oh, man. This is kind of cool.” Someday, you're going to be like, “This John”—you're not even watching this, but you're going to be like, “This young guy. He seems like a self-conceited arrogant asshole dick. I would never want to be like him. I doubt he can even code, this guy. I mean did he just say fuck like, oh, I'm unsubscribing. I'm done like I don’t even watch those videos anymore, blah, blah, blah.” Cool, that's fine, but some of you are going to be like, “This is cool. It's cool shit. I didn’t realize like you got to help me get chicks?” You know what I mean, whatever. “You're going to help me get in shape like you're going to help me develop the mindset to be a fucking bulldog and succeed in life. This is awesome, I love this and I'm a programmer, and you are a programmer.” That’s what this is intended to do, is I have to do that in order to find my peoples. You see what I'm saying? Because it's a wide net out there and people aren't searching for what I'm providing. When they see it and the right person sees it, the person just already clicked Subscribe.

If that matches up with you, if you're that kind person, you came on this video from a search, it's cool. Click the Subscribe button. Click the bell so you don’t miss any videos, and that's all I got for you. All right. I'll talk to you next time. Take care.

About the author

John Sonmez

John Sonmez is the founder of Simple Programmer and a life coach for software developers. He is the best selling author of the book "Soft Skills: The Software Developer's Life Manual."