I remember the first time I ever really dove into coding a website. I decided I wanted to create a website for a craft business I was running, and got it into my head that I would recreate the look and feel of the website of a luxury British lifestyle brand.
…That was built in Flash.
…Except I didn’t want to learn Flash, so I taught myself to recreate many of the site transitions and animations using JavaScript.
Yep, the first coding language I ever taught myself was JavaScript! And the site was a pretty good approximation of the original site, even if it wasn’t quite as fancy.
Fast-forward to now, and I’ve dabbled in a lot of programming languages, based on different projects I’ve taken on over the years. I’ve learned some PHP for to work with WordPress. I learned a little ASP.NET to work on a website for a company. I’ve dabbled with Ruby and Swift for different app projects. I’ve worked with SQL on a bunch of websites.
The best part about programming is that the concepts are usually pretty similar across the popular coding languages, even if the specifics change from one language to the next.
So, how do you decide which programming language to learn first? JavaScript is pretty useful and in high demand, but then again, PHP will allow you to build custom WordPress sites…and you’ve probably heard Ruby developers talking poetically about their language.
Since programming languages have a lot in common, and you’ll most likely learn several throughout of your career, it’s best to start by choosing the projects you’d like to work on first. Do you want to build an app? Or would you rather build websites for freelance clients?
Once you have an idea of the types of projects you want to do first, refer to the list below to figure out where to start learning to code. You can always move on to additional languages once you get your feet wet!
Psst! Check out The Beginner’s Guide to Landing a Junior Developer Job for a roadmap to starting your career in web development! In the free e-book, you’ll get a list of job titles in development, plus the skills you’ll need to have down in order to get hired.
If You Want to Build a Mac or iPhone App…
LEARN SWIFT
Sure, there are a bunch of different frameworks out there that let you build native mobile apps using things like HTML and JavaScript. But if you’re really serious about building iOS apps, you really need to learn Swift. Bonus: Swift is also used for building Mac OS X desktop apps!
If You Want to Build Android Apps…
LEARN JAVA
Maybe iOS isn’t your thing. If you’d rather develop Android Apps (which includes apps for things like the Kindle Fire, not just smartphones), then Java is the language to learn! Native Android apps are all coded in Java.
Java used to be the standard for learning to code in computer science courses (but has since been replaced by Python, which I’ll talk about further down), which means it’s a good language to tackle when you’re starting out programming. That said, it’s also incredibly powerful and has tons of advanced capabilities.
If You Want to Work with WordPress…
LEARN PHP
WordPress is the most popular content management system on the planet. 25 percent of all the websites in the world run on WordPress, with 50,000 new sites added daily! In other words, learning WordPress opens up a huge market for you.
WordPress is coded with PHP, so if you want to work with WP, you’ll need to master PHP. PHP is easy to use for new programmers, and has advanced features for more expert coders.
There is other CMS built with PHP, too, like Joomla and Drupal. PHP is installed by default on most web servers, so it makes sense that a lot of websites are built with it.
If You Want to Build Web Apps…
LEARN RUBY (ON RAILS)
There are a ton of different languages that you can use to build web applications. One of the most popular is Ruby (and Ruby on Rails). It’s a full-stack framework that was built to keep developers happy by making common development tasks easier out of the box.
Sites like Airbnb, Shopify, and Hulu are built with Ruby, which gives you an idea of how powerful the language can be.
If You Want to Work on Big, Complex, Data-Driven Sites and Apps…
LEARN SQL
Really big, data-driven websites and apps have one thing in common: databases. And most of those databases are written in some form of SQL (MySQL, PostgreSQL, Microsoft SQL, etc.). In fact, even a lot of smaller sites pull content and information from a database (including most blogs and sites built on a CMS). Basically, SQL is everywhere, and if you use the internet, you’ve definitely encountered it before, probably without even realizing it.
If you want a really versatile skillset that can help with almost any website or web app, then become proficient in SQL. SQL skills are also super valuable if you want to be a data analyst or strategist.
If You Want to Build Games or Audio/Video Apps…
LEARN C++
C++ is the programming language of choice for performance-critical applications like games or audio/video applications. All the main Adobe applications (Photoshop, Illustrator, After Effects, etc.) are built in C++. It’s used in Apple’s OS X operating system. Parts of Facebook, Google, and various Microsoft applications are written in C++. It’s even used for the SETI@home project!
If you’re interested in working on these big software and web projects, C++ is a must.
If You Want to Build Windows Applications…
LEARN C#
C# is most commonly used to build applications that run on Windows. It’s used for web development (with Microsoft’s .NET framework), game development, and general Windows development.
Recently, through Xamarin, it’s become possible to write iOS and Android apps with C#, too!
If You Want to Build Modern Websites and Web Apps…
LEARN JAVASCRIPT
Sure, you can build a website with nothing more than HTML and CSS. But if you want to build a website that will fit in with the modern web, you need to learn JavaScript.
JavaScript is the most common way to make websites and web apps interactive. It’s most often used with libraries like jQuery and AngularJS to create web apps that work across all modern browsers and device types. JavaScript can also be used with frameworks like phonegap to create mobile applications for iOS and Android.
The downside to JavaScript is that it can be tricky to learn and especially tricky to debug. Don’t fear! You can learn JavaScript (and jQuery, and a bunch of other great subjects) in our new Front End Developer Career Blueprint!
If You Want to Work in Education…
LEARN PYTHON
If you want to teach coding, or work on apps and sites aimed at schools and universities, Python is where it’s at. While there’s no single programming language being used across every university, college, public school, and private school, Python is definitely the most popular. Python is easy to learn, and focuses on simple and readable code (because it’s very similar to the English language).
Recently, Python knocked Java out of the top spot for beginner programming courses, with eight out of the top ten computer science programs now using Python to teach coding. Because of this popularity in the education sphere, Python has a lot of libraries for things like mathematics, physics, and natural processing.
Besides, sites for both NASA and PBS are built on Python!
Image credit: CC by Christiaan Colen