The most frequent question we get asked is “what programming language should I learn?”, closely followed by “Oh you’re a programmer, can you hack stuff?”. For the latter question, the answer is no… well possibly we could get the hang of it. Back to business –

In order for you to learn the “right” programming language(s) you should ask yourself a couple of questions:

1. What type of applications do I want to make? Mobile? Desktop? Web?

2.What do you get excited about, is it unique websites that have really great animations/design, video games or robotics?

Maybe you’re wanting a career change or just curious to learn programming and take it up as a hobby, one thing is programmers are constantly coding even in their spare time creating little things that interest them. For me personally it’s WordPress plugins and creating a solution to a problem that the WordPress population may be facing.

I won’t go into too much detail about each language mentioned in this article and advise doing additional research and tutorials in learning the languages of your choice.

 

WEB

So you’re interested in web development since everything is going online and websites are popping up by the thousands.

 

HTML/CSS

HTML and CSS go hand in hand, these are great starter languages to learn to style websites. These languages are simply to create the ‘look’ of websites and a perfect starting point for people that are easing their way into programming that want to create websites. HTML is the building blocks of web pages and is the base language for all websites (including WordPress themes/sites). CSS is used to style the content of a website such as the colors, sizing of elements, button colors and so forth.

 

JavaScript/JQuery

JavaScript is very important in web, as most careers in website development require users to understand the fundamentals of JavaScript. JavaScript handles actions such as when the page is loaded, or when the user clicks on a button – any interaction between a user and a website. JQuery is basically a simplified version of JavaScript and makes it easier to achieve the same results as ‘raw’ JavaScript. With the multitude of JavaScript frameworks out there (one of the most popular ones being Angular.js) it is a good idea to learn this together with HTML and CSS.

 

PHP

PHP is probably my most favorite language since WordPress (at the time of writing this article) runs of PHP. It’s robust, fairly easy to use and handles database connections easily.  This language is great if you are wanting to get into WordPress plugin/theme development or hone your WordPress customization skills.

 

MySQL

Learning SQL is important as this is the coding language for databases. Databases allow you store information for an indefinite length of time, for example a user registers on your website, you will store that information in a database so you may access it at any point in time when the user wants to login or even email the user telling them about a special your website is running.

 

SUMMARY

Now all the languages are important, if you know all languages mentioned above you will be well sort after by software companies that build websites. I would say the minimum requirements (if I really had to choose) would be HTML, CSS and JS/JQuery as a must and touch over PHP and SQL so you know the basics. Find what language you enjoy with it’s functionality as certain languages are used to achieve certain things.

 

MOBILE

Building mobile applications is great fun, I mean almost everyone in the world now owns a smartphone.

 

Java

Java is robust and used for Android devices among other things. Not the easiest language to start off with so I would recommend getting the basics of an easier OOP (Object-Orientated Programming) language such as visual basic or C#. We’ve developed a simple android application in Java and can be downloaded here

 

Swift

Swift is used solely for iOS development, similar to Ruby or Python according to – http://www.javaworld.com/article/2456964/java-ios-developer/10-things-you-should-know-about-apples-swift.html

 

JavaScript

JavaScript is used for more than just websites and with some frameworks like Cordova or PhoneGap you are able to build a hybrid application. A hybrid application is using one set of code (HTML/CSS/JS) and packaging it for multiple devices such as iPhones and Android phones with using a single set of code.

 

SUMMARY

This solely depends on what platform you would like to develop for, each language has it’s pro’s and con’s for example Hybrid Application development is great I mean you need to know your web based languages and then deploy your application to multiple platforms however it’s slower than coding in Java or Swift for the specific platform you want to reach out of.

 

DESKTOP

Building applications that users install onto their machine or even create a video game.

 

C#

C# is great for building Microsoft applications and I would definitely recommend starting off with this language for desktop applications. You can even build video games using this language and the Unity Game Engine.

 

C++

The most powerful, yet most difficult language, out there. You are able to build any game/application for Windows system.

 

Java

Java can also be used for creating robust software applications or even games. MineCraft was built using Java.

 

SUMMARY

Start off with C# to get the hang of Object-Orientated Programming and work your way up to Java/C++. If you want to build applications for Mac you may have a look at Objective-C. Otherwise C# or C++ will be a great start for learning desktop application programming.

 

Now you’re probably like “That’s great, you answered my question – what programming language should I learn?” but not sure where. Start learning programming for as little as $25 per month with video tutorials and course materials from Treehouse!

GET 50% OFF TREEHOUSE