How to Decide Which Programming Language to Learn

Which programming language to learn
Get Our <span>FREE</span> Guide to Landing a Junior Developer Job

Get Our FREE Guide to Landing a Junior Developer Job

Find out EXACTLY what you need to do to land your first full-time job as a web developer.

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 (partly because I didn’t know which programming language to learn first, and it seemed as good as any). 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 variety of programming languages: some PHP for working with WordPress, a little ASP.NET to work on an old employer’s site, Ruby and Swift for a few app projects, and SQL for various websites.

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 waxing poetic about their language.

You’ll most likely learn several languages over the course of your career, it’s best to prioritize by thinking about what kinds of projects you’d like to work on first. Once you have an idea of what you want to build, 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 ebook, 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, tons of frameworks out there let you build native mobile apps using 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.

If you’d rather develop Android apps (which include apps for devices 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 both easy to use for new programmers, and has advanced features for more expert coders. (There are other CMSs built with PHP, too, like Joomla and Drupal.)

For more on WordPress, check out our Freelance WordPress Developer Career Blueprint. You’ll get 3 months of step-by-step courses and a guided apprenticeship while you work with your first client.

If you want to build web app, learn Ruby (on Rails).

Of the 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.

Ambitious, 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, many 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 versatile set of skills that can come in handy on almost any website or web app, becoming proficient in SQL is a fantastic choice. Bonus: SQL skills are 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. (Also, all the Adobe design applications, like Photoshop, Illustrator, and After Effects, 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 apps, learn C#.

C# is most commonly used for building applications that run on Windows. It’s used for web development (with Microsoft’s .NET framework), game development, and general Windows development. It’s now possible to write iOS and Android apps with C#, too, using the Xamarin platform.

If you want to build modern websites and web apps, learn Javascript.

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, then 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 to debug. But 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!

Want to know more about what it takes to be a developer? Check out our FREE Beginner’s Guide to Landing a Junior Developer Job for all the goods!

Get Our <span>FREE</span> Guide to Landing a Junior Developer Job

Get Our FREE Guide to Landing a Junior Developer Job

Find out EXACTLY what you need to do to land your first full-time job as a web developer.

Cameron Chapman

Cameron is a staff writer here at Skillcrush, and spends most of her time writing and editing blog posts and Ultimate Guides. She's been a freelance writer, editor, and author for going on a decade, writing for some of the world's leading web design and tech blogs. When she's not writing about design, she spends her time writing screenplays and making films (and music videos for rock and metal bands!) in Vermont's Northeast Kingdom.

Your email address will not be published.



  1. historia de algunos electrodomesticos Replied

    Para mejorar el contacto con los clientes, el Servicio Técnico Oficial Manaut en Madrid, pone a su disposición, una moderna sede emplazada en el barrio de Las Rosas. Además, es interesante que revises previamente la información disponible en la sección de preguntas más frecuentes para intentar aclarar las dudas que puedas tener sobre tus productos Bosch. Además del servicio de atención telefónica también puedes enviar tus consultas y mensajes a través del formulario online que Bosch facilita en su página web. Todas nuestras intervenciones tienen garantía de 1 año en piezas y materiales utilizados por nuestros técnicos.

  2. Adam Nyman Replied

    Attorneys… […]just below, are some totally unrelated sites to ours, however, they are definitely worth checking out[…]…

  3. Corrina Replied

    Hello there, just became aware of your blog through Google, and found that it is truly informative. I am gonna watch out for brussels. I will be grateful if you continue this in future. A lot of people will be benefited from your writing. Cheers!

  4. Abdul Tomasini Replied

    “I appreciate, result in I discovered just what I was taking a look for. You have ended my four day long hunt! God Bless you man. Have a great day. Bye”

  5. furtdsolinopv Replied

    F*ckin’ awesome issues here. I am very satisfied to look your article. Thank you a lot and i am having a look forward to touch you. Will you please drop me a e-mail?

  6. Aly Chiman Replied

    Hello there,

    My name is Aly and I would like to know if you would have any interest to have your website here at promoted as a resource on our blog ?

    We are in the midst of updating our broken link resources to include current and up to date resources for our readers. Our resource links are manually approved allowing us to mark a link as a do-follow link as well
    If you may be interested please in being included as a resource on our blog, please let me know.


  7. furtdsolinopv Replied

    This really answered my downside, thank you!

  8. reparacion de iphone valencia Replied

    Este es el blog adecuado para cualquier persona que quiera conocer este tema. Te das cuenta de que es casi difícil discutir contigo (¿no es que en realidad querría? HaHa). Definitivamente le das un nuevo giro a un tema sobre el que se ha escrito durante años. ¡Grandes cosas, simplemente genial!

  9. reparar iphone 6 pantalla Replied

    Me complació mucho encontrar este sitio web. ¡Quería agradecerle su tiempo por esta maravillosa lectura! Definitivamente disfruto cada parte de él y te he marcado como favorito para ver las cosas nuevas que publicas en tu blog.

  10. Starla Lamke Replied

    These are in fact wonderful ideasin concerning blogging.You have touched some good thingshere. Any way keep up wrinting.|

  11. consumo electrodomesticos idaeyc Replied

    Ponte en contacto de inmediato con nuestro Servicio Técnico Especializado en la Reparación de Lavadoras, Frigoríficos, Lavavajillas, Cocinas, Vitrocerámicas y Hornos de la marca Sauber a través del teléfono: 929 883. Reparamos cualquier avería en su electrodoméstico Hitachi, aún no siendo un servicio técnico Hitachi oficial de la marca. Nuestros clientes reciben un servicio técnico integral, amable, eficiente y con rapidez !

  12. CS GO Trade Ups EXPLAINED How To Cheat The Trade Up (link in Replied

    very nice post, i actually like this web site, carry on it

  13. zvodret iluret Replied

    As a Newbie, I am permanently browsing online for articles that can be of assistance to me. Thank you

  14. Download Manager IDM 6.29 Build 2 Patch Full Crack 2017 (Released: Oct 03 Replied

    Some truly wonderful content on this web site , appreciate it for contribution.

  15. Marko V Replied

    Hi! How can I learn Java? I know SE but have difficulties with understanding design patterns and EE.

  16. Kevin Replied

    I think that you should definitely note that Node.js, express.js, React & MongoDB (Javascript stack) are really taking the lead on Web Development and replacing Rails and will do so more and more as time goes on. I would invest my time there instead of Rails.

    Just my two cents. Great article, otherwise!

  17. Leesa Johnson Replied

    Well written article and I want to thank you for sharing with us. As I think that one should learn a language after considering these two points 1) Future scope of the language and where you can go with the same language in your future career 2) Check your interest for language, which language is more suitable for you to progress in your career with your interest.

  18. CodecrushX Replied

    Thanks so much for this article Cameron. Your article covers exactly what I’ve been wondering ! I’m just beginning it all with the 10 day boot camp . I know I’ll get there !

  19. lnchapin Replied

    This is exactly the article I’ve been looking for!! Thanks!

  20. maryana.nichols Replied

    Thanks Cameron! That’s exactly I was looking for. I just started the web design class on skillcrush and parallel I’m learning JavaScript on codecademy. I guess, that’s a good start.

Want more articles like this?

Sign up to get the most recent tech news, tips and career advice.