I asked my friends on Twitter what the top 5 programming languages they wanted to become fluent in where. Here’s my tweet:
If you were to become a polyglot programmer, what are the top five languages to become fluent/proficient in? (There are no “right” too languages for everyone)
— Jason Alba (@jasonalba) April 21, 2022
I got some excellent responses and insight into what people are (and aren’t) working on, or thinking about, right now. I wanted to share this with you. Hopefully I’ll update it with some commentary from some friends. If you are interested in the tech field, as a programmer or anything related to programming (DevOps, ITOps, etc.), take a look at that tweet and the comments on the tweet.
Here’s a quick list, in alphabetical order (I know whether some of these are even languages is debated, and some are subsets of something else already listed):
- 6502 Assembly
- ABAP
- Ada
- AngularJS
- Apple BASIC (lol)
- Bash
- Batch Scripting
- C
- C++
- C#
- Clojure
- COBOL
- Coq
- CSS
- Cypher
- Dart
- Delphi
- Django
- F#
- FORTRAN
- FoxPro
- Free Space
- Flutter
- Go (aka Golang)
- Gremlin
- Haskell
- HTML
- Java
- JavaScript
- Julia
- jQuery
- Kotlin
- Lua
- Lisp
- Modula-2
- Motoko
- NodeJS
- Perl
- PHP
- PowerShell
- Python
- Prolog
- ReactJS
- Ruby
- Rust
- Scala
- Scheme
- Scratch
- Smalltalk
- Solidity
- SQL
- Swift
- Typescript
- Visual Basic
- VB.net
- Whitespace
Whew! That is a long list of top 5 programming languages!
When I was an active programmer, a hundred years ago, we had all kinds of arguments about what the best language was, what the upcoming or dying languages where, etc. This arguing hasn’t necessarily changed but it seems like it has evolved. Instead of being proficient in one or two, or even a few, languages, developers today recognize there are multiple languages they need to have a certain level of understanding in/of/about in order to have a more solid career.
Of course, things will continue to change over the years. This list in five or ten years might be different. I was surprised to see only three or four mentions of PHP, which supposedly powers 80% of the internet. I was surprised to see only one (or two?) mentions of Ruby, which a few years ago was the cat’s meow, and seemed to be the most important language out there. I was also surprised to see Angular had so few mentions (although it could have just been wrapped into the ton of JavaScript mentions).
I recognize these responses are swayed by what people are interested in learning (based on how I worded my question), perhaps because of fun, curiousity, or they think that will help them in their career. OR, THE RESPONSES WERE SWAYED BY WHAT THEY SEE THE MARKET (EMPLOYERS) PAYING FOR. It’s critical to recognize what the market wants/needs, and intentionally think about filling needs.
The Top 5 Programming Languages
There really aren’t a top 5. It depends on your industry, your employer, where you want to go in your career, what you want to do. If you are working in mobile your top 5 programming languages might be different than if you were working on front end, or in data science.
You need to figure out your top 5 programming languages best for your future. Talk to people who have the role you want. Look at job postings and see what trends you find. Research languages in your field and play around… tinker. But please, please make your own list of your top 5 programming languages you should work on.
Over the years your list will evolve. It’s just the nature of technology. But digging into your top 5 programming languages will help you learn how to learn languages. And once you learn (a) that you can learn, and (b) how to learn new languages, your career will be on the right path. This is a path of shifting and pivoting and adjusting to keep up with market needs. On that note, check out this smart tweet from Mohamad about the evolution of languages over the years (I’m guessing this is what he studied/learned in each particular year, not what the most popular languages were for each year):
1986 MSX Basic
1987 Amiga Basic, Amos, CanDo
1988 C
1989 Z80 Assembler
1990 assembly 68K
1991 8086 assembly
1993 C++, +2others
1996 ADA, +3others
1997 Lisp, Prolog, Java
1998 Smalltalk
1999 JavaScript, HTML, +6others
2002 Python, +5others
2009 ObjectiveC
+20others
.tweet limit— Mohamad Bo Hamad (@mohjb) April 21, 2022
There are a bunch of ways to learn any of your top 5 programming languages. Plenty of people have self-taught. Plenty have gotten computer science degrees. Others have gotten training, mentoring, coaching, books, and courses. Many just learn/do/learn/do, which magically leads to some level of proficiency after a while.
Pluralsight’s Programming Language Courses
I’ve been working with, and creating courses for, Pluralsight for about ten years now. They have thousands and thousands of courses to help you learn things to help your career. I blogged about the hundreds of soft skills courses… they literally have over 7,000 hard skill, or technical courses! I wanted to combine the list above, from my Twitter question, with some of the specific resources Pluralsight has.
If you don’t see your focus languages here, check out the Pluralsight Learning Paths page. This has a list of all of the Learning Paths, which are a collection of related or sometimes sequential courses and learning experiences to improve proficiency in a certain area. Here are a few of many Learning Paths relevant to the languages list above (course count is from today… always subject to change – there are other related courses in more specific learning paths for many of these):
C Development Fundamentals (9 courses)
C# Development Fundamentals (16 courses)
Data Visualization with R (5 courses)
Java Language Fundamentals (24 courses)
JavaScript Core Language (10 courses)
JavaScript and Friends (20 courses)
PHP Development Fundamentals (11 courses)
Python Core Language (24 courses)
Typescript Core Language (10 courses)
Want more? Go check out the Pluralsight Learning Paths page.