If you’re beginner and you’re trying to figure out what programming language should you learn? There’s definitely some confusion some thoughts on that that are different than this so there’s kind of two paths there right if you’re beginner what programming language should you learn in general and if you’re 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.
So first let’s address beginners here so if you’re beginner if you’re starting out you don’t know software development you’re at this point because you want to learn a programming language you don’t know which programming language you should learn? Well first of all we are going to talk about how to decide what programming language you should learn and how to learn it and that’s probably going to be a lot more valuable than anything. You want to learn a programming language you’re going to want to weigh two things so we are going to tell you when we talk about in general what programming languages are popular in what you might want to learn you’re going to want to just take that advice and you’re 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 so you’ve got to overcome that you’ve got to build momentum and so even though another programming language might be optimal right what we mean by that is that you there might be a better programming language in general for your career that you’re going to make more money or whatever.
Now why is Java 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 you’re going to be writing code in Java also right so it doesn’t stop you it’s just that Java may be or they may have existing systems in Java right and so having that background in knowing Java could get you those jobs so that’s really important but also Java is a pretty good programming language in general right so why because it’s simpler than C++ it’s simpler than some of the more advanced programming languages it’s not esoteric right it’s pretty standard it’s improved a lot right it’s very easy to use programming language there’s a lot of libraries out of there there’s a lot of help on and then the reason why we did that as opposed to c-sharp or another programming language is because it’s a really good language we think to get started and it’s fairly easy but not like super easy and it’s very useful and there’s like we said there’s a lot of resources and it’s valuable right there in general if you know Java you’re going to be able to do a lot right it’s you know if you compared it to C++.
If 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 so you know it again some of you that said oh well you should learn C++ and you know we totally agree seal C++ is valuable but it’s more theoretically valuable. So what we mean by that is the process of learning C++ it’s still valuable today but the language itself is not as valuable it’s how difficult it. The concepts that you learn they’re 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. So that takes care of Java C sharp is sort of in the same boat if we have to tell someone between C sharp and Java today we would probably actually tell them in 2017 even though there’s more jobs that are being requested for Java that C sharp is probably better and 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 because Microsoft is really changing its game area in 2017 we’re seeing Microsoft adopting open-source we’re seeing it by companies like xamarin we’re seeing them build iOS apps. We’re seeing Microsoft really focusing on getting c-sharp on multiple platforms we’ve got the .net runtime running on Mac and Linux now and being supported and being open so C sharp is probably a decent choice and it’s got a lot of really good language development that’s going on actively whereas Java is a little bit or to move although it’s been moving lately.
But now there’s some interesting ones that to think about here besides that which is rust is picking up a lot of steam and it’s very popular programming language so this is the one that we would recommend more for experienced developers like if your C C++ developer and you want to pick up a new language in 2017 or 2018 even pick up rust is really good it’s a slow level systems language it’s more elegant more refined than C&C++; pill person is a good replacement for those languages and it just keeps on picking up steam we think this is going to be really popular language I think it’s going to replace some of these legacy programming languages in some systems now so if you’re talking mobile side now we might consider swift right objective-c is pretty much dead if you know Java you’re going to build you 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 to C sharp route because Microsoft bought xamarin and xamarin is a really good tool is everyone will let you build all kinds of apps in c-sharp.
You know c-sharp is kind of everywhere right we keep coming back to it now but because of xamarin because of things like unity3d for game development you know c-sharp will definitely be useful for those we’ve got a few more contenders in here you know f-sharp I wouldn’t mess with this there’s not enough traction here it’s an interesting language but it doesn’t make a lot of sense to us. we’ve got you know so we’ve got some of the languages like Scala and Haskell and stuff like that and those are interesting but again not so widely used those would be interesting if you’re experienced developer 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 a lot of people that are jumping on board with elixir because it sort of has this elegance this expressiveness of Ruby readability of Ruby but it’s certainly powerful and it does a lot of things right so that but that’s it that’s a gamble because the liqueur 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 you’re anywhere in the scientific 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 the scientific realm there it’s an easy to learn language the fact that it uses white space for formatting makes it very readable so if you like you know cleanliness and your code you might enjoy that language and find that valuable we are going to go through a few more here so we think that’s kind of where we stand here so you know what would we recommend you know for 2017 like what are the things that are showing up here.
You know rust like I said is showing up we said 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 so we think that you’ve got a lot of choices and you know it depends on what you want to do again if you’re beginner you don’t want to try and necessarily pick the trend right you want to pick a solid base that’s why Java is always going to be good choice or something like c-sharp because you’re going to get it’s an object-oriented language. If you’re going to cover a lot of the concepts that you need to know as a programmer and then you can branch out from there you know. Once you know one or two programming languages it becomes easier same thing with Python for a beginner Python is going to make a lot of sense you know even for someone more experienced if you don’t know Python already there’s a lot of opportunity in Python as well so anyway we hope that helps you we know that’s a lot of information there and there’s a lot of different choices you know. We didn’t even mention programming languages we would avoid like Ruby unfortunately we love Ruby but it’s going down an objective-c is definitely one you want to avoid.