Placeholder Image

Subtitles section Play video

  • Hey, what’s up, John Sonmez from simpleprogrammer.com.

  • I thought I would do a video about what programming language should I learn in 2016.

  • This will probably carry over to 2017 since were more than halfway through 2016.

  • I’ve had this on my board thinking about making this video, but you know, hopefully

  • you still find it valuable.

  • This is sort of a tough choice because, well, if youre a beginner and youre trying

  • to figure out what programming language should you learn there’s definitely some subtleties,

  • some thoughts on that that are different than this.

  • There are kind of 2 paths here.

  • If youre a beginner, what programming language should you learn in general and it being 2016

  • at least when I’m recording this video?

  • Then if youre an experienced programmer, if you want to learn a new programming language,

  • what programming language should you learn or where should you shift your focus potentially?

  • First, let’s address beginners here.

  • If youre a beginner, if youre starting out, you don’t know software development,

  • youre at this channel because you want to learn a programming language, you don’t

  • know which programming language you should learn in 2016, well, first of all I’m going

  • to point you to my new book.

  • Actually, which you can sign up to get free and I have a chapter in here talking about

  • how to decide what programming language you should learn and how to learn it.

  • That’s probably going to be a lot more valuable than anything I’m going to say here in this

  • short video.

  • Definitely sign up there and check it out and you can get access to that.

  • The full book might be up by the time youre watching this video.

  • You can just buy the book, if you want, but you can get free access.

  • It’s posted on the blog and you can sign up if you sign up there.

  • I will address it a little bit here.

  • If you are starting out in 2016 and you want to learn a programming language youre going

  • to want to weigh 2 things.

  • I’m going to tell you when I talk about in general what programming languages are

  • popular and what you might want to learn youre going to want to just take that advice and

  • youre going to want to apply one more layer to it which is that you need something that

  • is going to be easy enough to learn and valuable enough that it is going to get you started

  • right away, because the biggest obstacle to success is getting started.

  • Youve got to overcome that.

  • Youve got to build momentum.

  • Even though another programming language might be optimal, what I mean by that is that there

  • might be a better programming language in general for your career that youre going

  • to make more money or whatever, the biggest problem that most people are going to face

  • that are trying to become a software developer is that it’s hard and they don’t hang

  • on long enough.

  • What ends up happening is they give up, theyre not taking action.

  • Theyre just learning.

  • You want to be able to take action as soon as possible.

  • With that said, let’s talk about in general, 2016, where are we at?

  • Surprisingly a couple of different studies I’ve seen have said that the most popular

  • programming language for employers that employers are looking for is still Java, by a large

  • margin.

  • How did we find this information?

  • By looking at job recs and seeing what jobs are available and what languages are being

  • requested.

  • Java’s pretty high up there by a pretty high margin and then comes C# and C++ and

  • then JavaScript.

  • If youre just thinking about, hey, what is the most universal programming language

  • that I could learn today?

  • Java is a really good choice.

  • Now, why is Java a good choice besides it being popular?

  • Well, let’s talk about that.

  • First of all, if a lot of employers are looking for people who have Java experience it doesn’t

  • necessarily mean that youre going to be writing code in Java also, right?

  • It doesn’t stop you, it’s just that Java may be or they may have existing systems in

  • Java.

  • So having that background and knowing Java could get you those jobs.

  • That’s really important.

  • But also Java is a pretty good programming language in general, right?

  • Why?

  • Because it’s simpler than C++, it’s simpler than some of the more advanced programming

  • languages.

  • It’s not esoteric.

  • It’s pretty standard.

  • It’s improved a lot.

  • It’s a very easy to use programming language.

  • There’s a lot of libraries out there.

  • There’s a lot of help on there.

  • If you want to learn Java you can check out my PluralSight course.

  • I actually created a PluralSight course on how to learn Java, it’s a 2-part course

  • and I show you how to do that.

  • I’ve actually got several of them.

  • The reason why I did that as opposed to C# or other programming language is because it’s

  • a really good language to get started and it’s fairly easy but not super easy and

  • it’s very useful.

  • Like I said, there’s a lot of resources and it’s valuable.

  • In general, if you know Java, youre going to be able to do a lot.

  • If you compared it to C++, I did this video on how to learn C++ or basically telling you

  • not to learn C++ especially for beginners which you can check out here, C++ is probably

  • a deeper skill set.

  • It’s more valuable in general like in being a programmer because you understand a lot

  • more complex computer science topics and computer engineering topics, but it’s more difficult.

  • Again, some of you that said, “Oh, well you should learn C++” I totally agree.

  • C++ is valuable but it’s more theoretically valuable.

  • What I mean by that is the process of learning C++ is still valuable today, but the language

  • itself is not as valuable.

  • It’s how difficult it is, it’s the concepts that you learn that are going to help you

  • with every other programming language, but it’s just not a great place to start especially

  • today when there’s many other choices there.

  • That takes care of Java.

  • C# is sort of in the same boat.

  • If I were to tell someone between C# and Java today I would probably actually tell them

  • in 2016, even though there is more jobs that are being requested for Java that C# is probably

  • better.

  • If you know one, you know the other pretty much so you could pretty much pick and choose.

  • It’s not going to be a big deal there, but the reason why C# is because Microsoft is

  • really changing its game here in 2016.

  • Were seeing Microsoft adopting open source, were seeing it buy companies like Xamarin,

  • were seeing them build iOS apps, were seeing Microsoft really focusing on getting

  • C# on multiple platforms.

  • Weve got the .NET runtime running on Mac and Linux now and being supported and being

  • open so C# is probably a decent choice.

  • It’s got a lot of really good language development that’s going on actively whereas Java is

  • a little bit slower to move although it’s been moving lately.

  • Let’s look at now some other in6teresting things here.

  • What programming languages are employers necessarily looking for?

  • Again, like I said Java, and then weve got C#, C++, JavaScript, but what about programmers?

  • What do developers and programmers think?

  • What’s going on here?

  • JavaScript is still really important.

  • I think it’s going to, I think it’s fading a little bit here.

  • It’s not as popular when node.js first came out and there was that huge, huge thing.

  • JavaScript is still valuable.

  • It’s valuable because it’s going to be useful in multiple situations.

  • If youre going to be a web developer youre going to have to know JavaScript and it can

  • allow you to do more than that.

  • It kind of depends, if youre doing web development youve got to know JavaScript.

  • You might as well start there and have that be your programming language.

  • It’s sort of a difficult programming language to learn, there are some transitions going

  • on here.

  • JavaScript has become a lot better of a language but there’s still a lot of old JavaScript.

  • As we transition to ES6 whichECMAScript is really JavaScript, version 6 where were

  • getting a lot more functionality into it, it’s better but it’s still harder to learn

  • in general because youve got this mixed up world between the old stuff and now youve

  • got the new stuff and not very many people are doing the new stuff and youve got a

  • lot of frameworks.

  • I would actually avoid that now is what I would say.

  • I would say learn a basic programming language and if you haven’t learned JavaScript already

  • and youre doing web development, I don’t know what youre doing.

  • Now there are some interesting ones to think about here besides that which is Rust.

  • Rust is picking up a lot of steam and it’s a very popular programming language.

  • This is one that I would recommend more for experienced developers like if youre a

  • C, C++ developer and you want to pick up a new language in 2016 or 2017 even pick up

  • Rust, Rust is really good.

  • It’s this low level systems language.

  • It’s more elegant, more refined than C and C++ and is a good replacement for those languages

  • and it just keeps on picking up steam.

  • I think this is going to be a really popular language.

  • I think it’s going to replace some of these legacy programming languages and some systems.

  • Now if youre talking mobile side now we might consider Swift.

  • Objective-C is pretty much dead.

  • If you know Java youre going to build a new android development but if you want to

  • do strictly iOS development Swift makes sense.

  • Again though, if you want to do mobile development I might instead of learning Swift, if you

  • don’t know it already, go the C# route because Microsoft bought Xamarin.

  • Xamarin is a really good tool.

  • Xamarin will let you build all kinds of apps in C#. C# is everywhere.

  • I keep coming back to it now, but because of Xamarin, because of things like Unity3D

  • for game development C# will definitely be useful for those.

  • Weve got a few more contenders in here.

  • F#, I wouldn’t mess with this.

  • There’s not enough traction here.

  • It’s an interesting language and I love the language itself, but it doesn’t make

  • a lot of sense to me.

  • Weve gotweve got some of the languages like Scala and Haskell and stuff like that.

  • Those are interesting but, again, not so widely used.

  • Those would be interesting if youre an experienced developer and you want to pick

  • up a new language, but I might encourage you actually to look at Elixir.

  • Elixir is sort of a new programming language that is really interesting and there’s a

  • lot of people that are jumping onboard with Elixir because it sort of has this elegance,

  • this expressiveness of Ruby, readability of Ruby but it’s extremely powerful and it

  • does a lot of things right.

  • But that’s a gamble because Elixir could go down.

  • There’s not a huge community, but it’s starting to develop, but again, for an experienced

  • developer.

  • Another great one potentially for someone starting out especially if youre anywhere

  • in the science or academic or image processing field would be Python.

  • Python is a very popular programming language especially with companies like Google and

  • it will continue to be so just because there’s so much going on in the scientific realm there.

  • It’s an easy to learn language.

  • The fact that it uses white space for formatting makes it very readable.

  • If you like cleanliness in your code you might enjoy that language and find that valuable.

  • I’m going to go through a few more here.

  • That’s where I stand here.

  • What would I recommend for 2016?

  • What are the things that are showing up here?

  • Rust, like I said is showing up.

  • Elixir is showing up here.

  • Go is still gaining popularity as well.

  • I didn’t talk about Go but Go is a good one as well especially for systems type of

  • programming but it’s also moving to the web somewhat.

  • Yeah, I think that youve got a lot of choices here.

  • It depends on what you want to do.

  • Again, if youre a beginner you don’t want to try and necessarily pick the trend.

  • You want to pick a solid base that’s why Java is always going to be a good choice or

  • something like C# because youre going to getit’s an object oriented language.

  • Youre going to cover a lot of the concepts that you need to know as a programmer and

  • you can branch out from there.

  • Once you know 1 or 2 programming languages it becomes easier.

  • Same thing with Python, for a beginner Python is going to make a lot of sense.

  • Even for someone more experienced, if you don’t know Python already, there’s a lot

  • of opportunity in Python as well.

  • Anyway, I hope that helps you.

  • I know that’s a lot of information there and there’s a lot of different choices.

  • I didn’t even mention programming languages I would avoid like Ruby, unfortunately.

  • I love Ruby but it’s going down and Objective-C is definitely one you want to avoid.

  • Anyway, if you want more tips like this, if you have more questions, subscribe to the

  • channel.

  • Just click that subscribe button wherever it appears, I’m not supposed to point because

  • I don’t know where it’s going to appear, but maybe it will—I’ll be doing a video

  • and therell be a subscribe button there, I don’t know.

  • Anyway, click the subscribe button and youll get more of these videos every week, actually

  • everyday because I put out videos everyday.

  • If you came here from the YouTube search or something you should know that this is software

  • development career and personal development channel so I will be talking about all kinds

  • of crazy stuff, but that’s the way I like it.

  • Thanks for joining me.

  • I’ll talk to you next time.

  • Take care.

Hey, what’s up, John Sonmez from simpleprogrammer.com.

Subtitles and vocabulary

Click the word to look it up Click the word to find further inforamtion about it