40 most popular programming languages 2023: When and how to use them - Part 2
Posted Feb 1, 2023 | 15 min. (3092 words)This is the second and final part in our exploration of the 40 most popular programming languages 2023: When and how to use them Find part one here to uncover the first top 20 on our list.
Welcome back to our exploration of the top 40 programming languages of 2023. In the first part, we delved into the leading 20 languages that are shaping the tech world this year. Today, we’ll continue our journey by examining the next 20 languages that are making significant strides. Whether you’re a seasoned developer or just starting, these languages offer diverse opportunities and potential. Let’s dive in and discover what makes them noteworthy.
In this post, we cover:
- Rust
- Scratch
- SAS
- Kotlin
- Julia
- Lua
- Fortran
- COBOL
- Lisp
- (Visual) FoxPro
- Ada
- Dart
- Scala
- Prolog
- D
- PL/SQL
- Bash
- Powershell
- Haskell
- Logo
- Transact SQL
- How do I choose a programming language?
- What’s likely to be in-demand in the future?
- Which programming language should I learn?
40 top TIOBE programming languages
20. Rust
- Popularity: Niche
- Salary expectations: approx. USD$140,000/yr on average
- Ease of Learning: Difficult
- Use Cases: Specialty and General Use
- Application/Software frameworks and components
- Systems programming
Rust is a relatively new and powerful language that is popular for systems programming. Its design goals include safety, reliability, and speed. These features come at the cost of complexity and a high learning curve.
Rust is not a good first language, and is still a niche language. However, it’s become famous for having higher salaries associated with Rust than any other language, and the Rust community is vocal and passionate. Rust is great for a learning challenge, and there are jobs out there that use it, but if you’re just starting out, build your confidence in another language first.
Pros
- An extremely high-performance language
- Lucrative job market
Cons
- Difficult to learn
- Not as widespread as titans like Java or C#
21. Scratch
Popularity: Niche Salary expectations: n/a Ease of Learning: Easy Use Cases: Education
Scratch is a language designed to teach programming to beginners, developed by the Lifelong Kindergarten group at MIT. It’s designed to be simple and appealing, and allows users to create interactive stories, animations, games, and other interactive programs using a simple block-based visual interface. It’s free and open-source. Scratch is not suitable for professional use, and unless you want to teach programming, it has limited value. Jobs coding in Scratch are virtually non-existent, and its increased “popularity” is probably owing to growing interest in adding coding to early childhood curriculum.
Pros
- Simple, free, and accessible
Cons
- Not a professional programming language or career path
22. SAS
- Popularity: Low
- Salary expectations: typically between USD$68,347 - $85,064
- Ease of Learning: Difficult
- Use Cases: General
- Local Applications
SAS originally stood for “Statistical Analysis System” and was first developed in 1966 on mainframe computers. As the name suggests, it was used for statistical data analysis.
SAS is less common now as modern statistical analysis tools have taken the lead, though there are still some jobs available and certain industries still favour SAS over alternatives like R.
Pros
- Still relevant in certain industries
Cons
- Diminishing relevance, has been superseded by newer alternatives
23. Kotlin
- Popularity: Low
- Salary expectations: typically $82,000-$113,000/yr in the USA
- Ease of Learning: Moderate
- Use Cases: Mobile Development
- Android Applications
Kotlin runs on the Java VM and compiles to JavaScript. Its syntax is very similar to Java. Google supports Kotlin for Android OS development.
Kotlin has risen dramatically in popularity in the last 5 years, but it remains a niche language overall. It’s likely to remain a key player in the Android landscape, so if your interests lie there, Kotlin is a good option.
Pros
*A strong asset for Android developers
- A fast-growing language
Cons
- Still a niche language with limited demand
24. Julia
- Popularity: Niche
- Salary expectations: typically between USD$88,000 - $94,000 in the US
- Ease of Learning: Difficult
- Use Cases: Specialty
- Data Science
Julia is a relatively new language, introduced in 2012. Its syntax is a descendant of C. Julia was designed for data science and analytics applications.
Julia is another language that is closely associated with the work it is designed to support. If you are already in a data analytics job, there’s a good chance you have learned Julia.
Pros
- Simple syntax and rapid development
- Jobs can be well-paid owing to specialty language requirements
Cons
- Slow to compile
- Poor interoperability with other languages
25. Lua
- Popularity: Niche
- Salary expectations: Typically between USD$59,000 - $87,000
- Ease of Learning: Easy
- Use Cases: General Use
- General Programming
Lua was developed in Brazil, during a time when trade policies made it prohibitively expensive to purchase licensed software from elsewhere in the world. It was designed to be portable and easy to learn for non-technical users. Lua has become popular among novice game developers as a scripting language.
Lua is a niche language with few jobs available. Learning Lua may make you a better, more well-rounded developer and help you get a foothold in the game dev world, but it isn’t likely to land you a job.
Pros
- Ease of learning suitable for beginners
- Portability
Cons
- Not in hot demand
26. Fortran
- Popularity: Niche
- Salary expectations: typically USD$$65k - $86k on average
- Ease of Learning: Difficult
- Use Cases: Specialty
- Mainframe Programming
FORTRAN was developed by IBM for scientific and research-focused programming. It was originally introduced in 1957, making it one of the oldest languages on this list.
While FORTRAN’s popularity has waned over the decades, it has remained in use in specialty fields like physics and astronomy and in supercomputing. It’s risen in the TIOBE index in recent years as the demand has increased for massive volumes of complex data processing.
Pros
- Uniquely powerful for scientific computing purposes
Cons
- Still an obscure language with very specific applications
27. COBOL
- Popularity: Niche
- Salary expectations: typically falls between USD$70,523 - $88,475
- Ease of Learning: Moderate to Difficult
- Use Cases:
- Mainframe Application Development
COBOL is a very old language used primarily for mainframe development. It’s fairly difficult to learn in comparison to more modern languages.
Programmers that have been using COBOL for decades are enjoying high employability, due to the scarcity of COBOL programmers that are working and not retired. However, this is not a good reason to learn COBOL if you don’t already know it. Most COBOL code is being rewritten or replaced, so you’re better off investing in new skills for a new generation of languages and platforms.
Pros
- Still popular in government systems
- Relatively readable
Cons
- Becoming completely obsolete
- English-like syntax results in bloated and verbose reading
28. Lisp
- Popularity: Niche
- Salary expectations: approx. USD$94,000 on average
- Ease of Learning: Difficult
- Use Cases: Specialty
- Systems programming
LISP is only one year younger than FORTRAN, making it one of the “great grandaddy” languages of this list. LISP has inspired the design of many younger languages on this list, including JavaScript, Scala, Python, and many others.
LISP isn’t very easy to learn, and has a very verbose syntax (it’s great if you LOVE typing parentheses!). However, LISP is another niche language that’s enjoying a resurgence because of the explosion of ML and AI programming, and programmers with established experience in LISP are suddenly at a premium. That doesn’t necessarily mean that it’s a good idea to start learning it as a beginner now, but LISP is also valuable for teaching a deep understanding of the languages that came after it.
Pros
- Understanding of LISP helps speed up learning of its descendant languages
Cons
- The revival of LISP for AI applications doesn’t necessarily mean future growth
29. Visual FoxPro
- Popularity: Niche
- Salary expectations: typically between USD$58,000 - $79,000 in the USAe
- Ease of Learning: Moderate
- Use Cases: General
Visual FoxPro is a data-centric, object-oriented language and development environment created by Microsoft in 1992. It’s best suited for building database-driven applications, with support for SQL queries, data manipulation, and report generation.
The visual development environment makes it easier to design and build user interfaces and debug and test code.
Pros
- Easily and rapidly build Microsoft applications.
Cons
- No built-in support for web technologies such as HTML, CSS, and JavaScript.
- Only compatible with Windows, so can’t be used for building cross-platform applications.
- No longer actively developed or supported by Microsoft.
30. Ada
- Popularity: Niche
- Salary expectations: approx. USD$89,000 on average
- Ease of Learning: Moderate
- Use Cases: General Use
Ada is a middle-aged language, first introduced in 1980. It’s most closely related to Pascal. Ada has many typical high-level language features, including static typing and object-orientation. It’s designed to encourage careful and secure programming, as evidence by its popular use in defense systems.
Ada is a niche language with a few jobs available. Most of that work is likely to be maintenance and porting to newer platforms.
Pros
- Simple syntax
- Relatively easy to learn
- Reliable and secure
Cons
- Not widely used outside of certain niche sectors
- Being replaced by Rust
31. Dart
- Popularity: Niche
- Salary expectations: approx USD$83,000/yr on average
- Ease of Learning: Moderate
- Use Cases: General
- Web Applications
- Mobile Applications
Dart was introduced in 2011 by engineers at Google. It is a statically-typed, compiled, object-oriented language with a syntax similar to C. Dart transpiles to JavaScript.
Dart is still young and finding a foothold, but Flutter, a popular Dart framework, has helped boost demand and is especially popular for mobile development.
Pros
- A high-performance language
- Developer-friendly syntax
- Efficient cross-platform development with Flutter
Cons
- A new language with limited community support and demand
32. Scala
- Popularity: Moderate - High
- Salary expectations: typically between USD$75,046 - $118,352
- Ease of Learning: Moderate to Difficult
- Use Cases: General Use
- Software Frameworks
- Web Applications
Scala was designed to fill gaps in Java, such as functional programming features. It has gained traction in the development of software libraries and applications.
Scala has been criticized for its steep learning curve. However, many of the principles learned in Scala apply neatly to other languages, including functional programming. There are plenty of Scala jobs available. It may not make a good starter language, but if you have some experience it’s worth looking into.
Pros
- Safe multi-threaded development
- Flexible and reliable
Cons
- Slow to compile
- Difficult and slow to get started with
33. Prolog
- Popularity: Niche
- Salary expectations: typically between USD$84,000 - $114,000/yr in the USA
- Ease of Learning: Difficult
- Use Cases: Specialty
- Artificial Intelligence
Prolog is a declarative language based on fairly advanced mathematical and logical theories. It is used for complex systems and can process sophisticated outputs in just a few lines of code.
However, to get there you have to learn Prolog’s syntax, which can be very difficult. Unless you happen to be in a field that uses Prolog, or want to get into AI or logic programming, it’s probably safe to skip it.
Pros
- Can do much more with fewer lines of code
- Well suited for complex database queries
Cons
- A steep and high learning curve
- Limited to specialized applications
34. D Lang
- Popularity: Niche
- Salary expectations: D is currently too obscure to produce much reliable salary data
- Ease of Learning: Difficult
- Use Cases: Specialty
D is a general-purpose programming language intended to combine the performance of compiled languages with the ease and flexibility of interpreted languages. It’s statically typed and supports both imperative and object-oriented programming.
D’s expressive and readable syntax, garbage collection, and strong static type system all contribute to a high standard of developer experience. It has good support for concurrent and parallel programming, which makes it popular for building high-performance applications. However, D’s ecosystem lacks maturity and there’s been major inconsistency in standard libraries and poor packages. Overall, D is a solid language but growth prospects are uncertain.
Pros
- Suited to building high-performance applications
- Static typing will catch errors at compile time to improve reliability.
Cons
- Still fairly obscure
- Can be challenging to learn
35. PL/SQL
- Popularity: Low to Medium
- Salary expectations: approx. USD$89,000/yr on average
- Ease of Learning: Moderate
- Use Cases: Database Queries
- Oracle Databases
PL/SQL is the vendor-specific implementation of the SQL language. The syntax and features of PL/SQL align with features of Oracle databases. All dialects of SQL are moderately difficult to learn. Simple data querying and updating is fairly easy to learn. Joins, aggregation, and advanced concepts such as cursors require more understanding of database theory.
Oracle is a dominant database vendor, so PL/SQL jobs aren’t hard to find. If you are an Oracle Database Administrator, PL/SQL is a must-learn. Full-stack developers that work at the data “layer” should consider learning PL/SQL and other dialects.
Pros
- Backed and maintained by heavyweight Oracle
- A powerful tool for application development
Cons
- High memory consumption
- Niche uses
36. Bash
- Popularity: Low (see details)
- Salary expectations: approx. USD$67,000 on average
- Ease of Learning: Easy to Moderate
- Use Cases:
- Linux scripting and automation
Bash is a command processor, where scripts are used to automate tasks on Unix and Linux platforms. The syntax is fairly simple and easy to pick up.
Bash skills are required primarily for Unix/Linux administration, and in roles that need to write scripts for those platforms. Developers can use Bash to help automate software delivery pipelines. Bash is an important skill to develop for those use cases and others, but it’s not truly a full programming language alone.
Pros
- Very efficient within its specific purposes
- A powerful automation tool
Cons
- Only a component skill used to supplement knowledge of fully-fledged programming languages
37. Powershell
- Popularity: Medium
- Salary expectations: typically falls between USD$68,355 - $101,697/yr
- Ease of Learning: Moderate - Difficult
- Use Cases: Windows
- Scripting
PowerShell is a command-line shell and scripting language developed by Microsoft in 2006 based on Microsoft’s popular .NET framework. It’s designed for automating and managing tasks in Windows environments, although it can also be used on other platforms like Linux and macOS.
Powershell’s built-in cmdlets (command-line tools) provide access to a wide range of functions like file and folder management and system administration. It features support for object-oriented programming, event-driven programming, and a powerful scripting language.
PowerShell can be challenging to start out with for users who aren’t familiar with command-line interfaces or scripting languages.
Pros
- Included with all recent versions of Windows and is widely used in Windows development
- Has seen a heathy surge in popularity since becoming open source a few years ago
Cons
- In terms of performance, PowerShell isn’t your best option
38. Haskell
- Popularity: Niche
- Salary expectations: typically fall between USD$68,172 - $98,607 in the USA
- Ease of Learning: Difficult
- Use Cases: General/Specialty
Haskell is one of the older purely functional, high-level languages, dating back to 1990. Functional languages focus on expressing intent through mathematical statements, rather than imperative subroutines that “act” on data. Many other functional languages derive from Haskell.
Haskell is somewhat difficult to learn, however, it is a good opportunity to learn functional programming. If you learn Haskell, you’ll learn this method of writing software, which is transferable to other languages and contexts. You’ll also be valuable to a niche market of jobs that need this specialized method of software development.
Pros
- Teaches valuable functional development skills
- Extremely maintainable
- Fast development
Cons
- Hard to learn
- Still fairly obscure and growth has been flat
39. Logo
- Popularity: Niche
- Salary expectations: n/a
- Ease of Learning: Easy
- Use Cases: Education
Logo is a high-level programming language that was designed in the 1960s as a tool for teaching programming to kids. It uses turtle graphics, where a “turtle” moves around the screen while the user commands it draw lines and shapes.
Because it’s designed for kids, it’s visual-based and easy to learn and use, and more engaging and interactive for learners than conventional languages. With Logo being geared towards educational use, and especially towards young users, applications are extremely limited outside of this.
Pros
- Simple and accessible for learners
Cons
- Not a professional programming language or career
40. Transact-SQL
- Popularity: Niche
- Salary expectations: approx. USD$72,000/yr in the USA
- Ease of Learning: Difficult
- Use Cases: General/Specialty
- Microsoft database management
Transact-SQL (T-SQL) is a proprietary programming language developed by Microsoft for managing and querying data in Microsoft SQL Server and Azure SQL Database. It is an extension of the ANSI SQL standard and is used to create and modify database objects, insert and update data, and query and analyze data.
It integrates with other Microsoft technologies like Visual Studio and .NET, making it easier to build applications that interact with a SQL Server database. It may have a steep learning curve for users who are not familiar with SQL or database concepts.
Pros
- Works seamlessly with the rest of the Microsoft development suite
Cons
- Only supported by Microsoft SQL Server and Azure SQL Database
How to choose a programming language
Programming languages are tools that express intent in a structured way. Software developers choose a language the way a construction worker selects a tool; by picking the best one for the job.
The languages on this list all have a variety of attributes:
- Procedural
- Object-Oriented
- Imperative
- Declarative
- Functional
… and many more
These attributes, combined with the requirements of a development task, make some languages better than others for your context. Understanding the differences between these attributes, combined with experience, helps developers choose the right tool for the job they’re doing and their personal career objectives.
What’s likely to be most in-demand in the future?
The appetite for front-end developers continues to grow, with JavaScript holding strong as one of the most valuable skills for job seekers.
Many of the languages that have recently entered or climbed the TIOBE list are associated with data science and machine learning, as these industries have grown drastically. It’s likely that other emerging technologies and fields will fuel demand for these and other purpose-built, niche languages.
Some predict that ultimately functional languages like Scala and Haskell will inevitably win out in the long run because of their structured nature, making for more scalable, reliable code.
Choosing the right language combines concerns about the knowledge and experience of a development team, the maturity of the language and its supporting libraries, and more.
So, which programming language should you choose to learn?
Now we’ve shown you some of the most popular programming languages, it’s time to choose which is the best for your project and individual goals. If you’re a total beginner, it’s a good idea to choose something from the top 5 or so, with huge community support, heaps of learning resources, and versatile areas of application. If you’re more experienced or working in a specialty area like data science, you can be more discerning. If you’re seeking higher salaries, check out a language with niche demand as you may be paid a premium.
Happy coding!