What Programming Language Should BEGINNERS Learn FIRST? (Programming For Beginners)

What Programming Language Should BEGINNERS Learn FIRST? (Programming For Beginners)

Hey, what’s up? John Sonmez here from simpleprogrammer.com. Coding Dojo is a programming school that turns
beginners into developers in only 14 weeks. If you’re serious about landing a career in
tech but lack the formal education or background, Coding Dojo will get you there in no time. With over 3000 graduates to date, over 90%
of their grads land job within three months of graduating, often making over 70k per year
at tech firms of all sizes from companies like Google to local startups. To learn more, visit codingdojo.com or click
the link the description below. 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 what 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.

53 thoughts on “What Programming Language Should BEGINNERS Learn FIRST? (Programming For Beginners)”

  1. I don't know where would I be without you John, lol. I love your videos, the information you give to us all is priceless. You should really have more subscribers and people that follow you, but not everyone can see what you are trying to do here. Don't ever stop doing these videos man, can't spend a day without them. <3

  2. Unpopular opinion: I think c++ is a perfectly fine first language to learn. The reason being is because although the language is obviously a lot more difficult and complicated to learn than say, python or ruby, it does pays off in the long run and you can easily transfer to any language without much frustration. The thing is, learning c++ forces you to actually learn how programming works – c++ has all the basic features you can find in any oop or imperative languages, and it allows you to actually learn about how memory allocation works (pointers, references, stack and heap) which you wouldn't immediately realize when youre using higher level langauages with garbage collection like java and python. Once you get comfortable with c++, learning other OOP language with garbage collection will be a lot easier since the underlying concepts are the same and you dont have to worry about manual memory allocation/deallocation.

    I do agree with John that the learning to program has very little to do with language of choice. It all comes down to expressing your thoughts through logic and design and not primarily by master a certain code language

  3. It's simple, you need motivation while you learn something. Pick something that is :
    1) popular in where you want to live and work. If you live in a city where there is no demand for ios developers then why learn it now. You need to work and make money at the end. So research for the jobs available in your favorite place to live in.
    2) pick something that has a lot of community support. Check YouTube and stackoverflow. You don't want to struggle.
    3) stay motivated by seeing the opportunities waiting for you. Like always look the job sites and make those jobs as your target.

    John you need to slow down on curse words. I listen to your videos sometimes on my TV and have 4 kids who are listing to you too.

  4. If had a couple years of Basic as a child of age 8-10 and was comfortable with it, would I do better with Visual Basic to get the ball rolling again or would you still recommend Python or do I likely have a foundation for another more useful language?

  5. I was wanted to create Android apps from long so I started Java in Dec 17, and now at the half of the basics soon I will move to Core java then I will step myself in Android Studio. I didn't searched about what lang should I learn I always came to all your videos through notification bell. Sorry for my bad english. The biggest problem in Programming is all programing is in English. Why English Sir?

  6. My first language is JavaScript and the learning curve is hard. But I like frontend web dev so JavaScript is the only language available to what I want to do right

  7. My first programming language was Java. So naturally, I am most comfortable with that language. Java I believe introduces the Object Oriented concepts in the simplest way, along with C# (Microsoft's equivalent). But the main difference between these two languages is that Java can be used on any Operating System.

    However, Python is a very useful language to learn, especially for data science and data analysis.

    I plan to develop my skills in Java and Python. There are so many learning resources for the latter especially like John says.

    From my research on job descriptions, Java, Python and C++ are the most commonly used languages in Software Development. So by learning those three, I believe that you will be in demand for many Software Development jobs out there.

  8. In my opinion it always depends on what one wants to do or achieve with the programming language, but IIRC these are always recommended by many people around the world:

    Front-end development:
    HTML, CSS, JavaScript (vanilla of course)

    Back-end development:
    Python, SQL (including MySQL, MongoDB, Oracle DB or whatever DB management system)

    These "development paths" made by Kamran Ahmed are also interesting:

    I used quotes ":-)", because this can be viewed as overwhelming by beginners, but it is interesting to see how many languages, tools and technologies are out there for different development paths 😉

  9. I really like the honesty, I'd prefer that than sugar-coated stuff. Also, there's always something new to learn from your videos even if you have talked about a similar topic before.

  10. I chose Ruby as my first language but with specific reasons in mind. Ruby on Rails and writing my own metasploit modules. Now that I'm going deeper into the field I'm picking up and using Python more. I still reach for the occasional Ruby script, but a lot of the tools out there or that are easy to slap together are being done with Python. (Not saying some can't be ported to Ruby, just what resources are available to learn from.)

  11. Thanks John for always making your videos! You've provided inspiration for me to keep in the game, even if in my own wierd way.

  12. John, How do you do it?
    I find it very hard to squeeze
    8 hrs of sleep
    working out
    Reading a book
    learning a new skill
    Chores & family responsibilities
    and working full time in a day
    One eats into the another's time, what's your secret how do you do it ?
    I wanna be like you John, fit, smart and financially stable. Please share your wisdom.

  13. Learn Python to learn the fundamental basics of programming concepts. Once the basics are under your belt, then you are ready to move to another language. It’s a great strategy.

  14. I am more less upset… Haha Stick around for this guy!
    Thanks John for another great video. These videos and your book have helped me get started on my programming journey.

  15. Totally agree. I am obsessed with formal verification so Eiffel and Ada2012 are natural fits. My other interested is understanding how computers work on a fundamental level which makes Assembler ideal. Someone who is into writing an OS would want to look at C and/or C++. Write high performance software? C++. For most people however, Python, JavaScript, Java are great starting points.

  16. After minute 4 was when he said what he recommend, I see his book has good 5 stars I haven't read it yet, but I hope his book does not spend to many words to get to the point.

  17. I have been programming seriously for about 2 months now and have made 2 iOS apps, some simple REST-api’s. I started with Python and I feel like it’s such a good language for beginners.

  18. different question
    is that realy helpfull to mastering "touch typing" before i learn my first prog language…??

    i know that a programmer doesnt need high speed fast typing, i think that typing and focusing mind to screen is enough, but
    should i learn touch typing first…??

  19. But my gut tells me as someone who is self taught, that python isn't the best choice simply because of all the college grads you'll be competing with. Where am I wrong here?

  20. U should change name of this channel to something else because have nothing related to programing other of showing your muscles clearly that's is programing to u

  21. Java.
    Java is easy to learn, it's software can run on any OS meaning that it can appeal to a T H I C C market, and can be used at both the Back-end and Front-end (Though not recommended.) for websites.

  22. dammn you talk too unnecessary things. i am writing this comment while watching the video. its been almost 5 min and you didnt started to tell the importent things. well good luck man.

Leave a Reply

Your email address will not be published. Required fields are marked *