0% found this document useful (0 votes)
3 views42 pages

40 most popular programming languages 2023_ When and how to use them - Part 2 · Raygun Blog_merge

The document discusses the top 40 programming languages of 2023, highlighting their popularity, salary expectations, ease of learning, and use cases. It provides detailed insights into several languages including Python, C, C++, Java, and more, along with their pros and cons. This is part one of a two-part series, with a promise of further exploration in part two.

Uploaded by

hbmenace
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views42 pages

40 most popular programming languages 2023_ When and how to use them - Part 2 · Raygun Blog_merge

The document discusses the top 40 programming languages of 2023, highlighting their popularity, salary expectations, ease of learning, and use cases. It provides detailed insights into several languages including Python, C, C++, Java, and more, along with their pros and cons. This is part one of a two-part series, with a promise of further exploration in part two.

Uploaded by

hbmenace
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 42

raygun.

com

40 most popular programming


languages 2023: When and how to use
them - Part 1
24–30 minutes

With the programming languages constantly evolving, it’s essential


to keep track of which languages are leading the pack. In this 2-
parter, we’ll dive into the top 40 programming languages of 2023
and analyze what makes them stand out. This is part one; stick
around for part two at the end of this blog post.

There are many - maybe too many - programming languages to


choose from. One of the most effective ways to assess their
popularity is by the number of search queries for each language,
across the web. The TIOBE Index is the definitive list of
programming languages, ranked in order of search volume
popularity as an indication of prominence and public interest. This
article lists the top 40 languages on that list, with a brief overview
and their pros, cons, and hiring prospects.

In this post:

• Python

• C

• C++

• Java

• C#

• Visual Basic .NET

• JavaScript

• SQL

• Assembly language
• PHP

• R

• Go

• Classic Visual Basic

• MATLAB

• Swift

• Delphi/Object Pascal

• Ruby

• Perl

• Objective-C

Here’s our list of the top 40 most in-demand programming


languages.

40 top TIOBE programming languages

1. Python

• Popularity: Very High


• Salary expectations: Typically between USD$89,271 - $105,820 in
the US

• Ease of Learning: Easy to Moderate

• Use Cases: General Use and Specialty


• Web Applications

• Artificial Intelligence

Python is a relatively new programming language, first introduced


in 1989, that has surged in popularity with the emergence of new
fields of application. It is an interpreted language that supports
automatic memory management and object-oriented programming.
It heavily prioritizes developer experience.

Python is very popular for general-purpose programming, including


web applications. It has recently become known for specialty use in
machine learning applications.

Python jobs are very plentiful, so it’s easy to find a job using
Python, and there’s still plenty of room for growth.

Pros

• Readability and flexibility make Python suitable for a huge range of


applications.

• Dynamic typing and asynchronous code help to speed up the


development process.

• Can be learned very quickly by newbie developers.

Cons

• Python’s performance isn’t as good as some of its peers

• Executes a single thread at a time because of Python’s GIL.

• No native compatibility with iOS or Android is a big disadvantage


for mobile developers.

2. C

• Popularity: Medium
• Salary expectations: Typically between USD$71,433 and $95,168

• Ease of Learning: Moderate

• Use Cases: General Use and Specialty


• Embedded systems

• Hardware drivers

• Local Applications

First introduced in 1972, C is well-established and enduring. Until


Java was introduced, C was the dominant high-level language. The
first versions of Unix, written in Assembly language, were ported to
C. It was then used in the development of other early operating
systems, including IBM System/370.
C has a long history of development on older systems with slower
processors and little memory. Programs written in C had to be very
efficient, so C has a reputation for high performance in cases where
speed matters.

C is still very popular due to its use in systems development,


including operating systems, embedded devices, and as firmware.
The C standard library has been ported to many platforms, so it is
viable in many use cases. However, the low-level systems
programming it is typically used for is a more specialized skill than
general application programming. This explains why C tends to
have relatively few job openings as compared to other languages in
the top 10.

There is likely to be some overlap in the jobs market with C++ (see
the C++ listing below.)

Pros

• C is the basis for many other popular languages, so knowledge of


C will serve you well

• Highly portable, readable and maintainable

• Fairly easy to learn

Cons

• Usually limited to “bedrock” code, like systems coding

• No safety nets, for example exception handling, to catch any errors


as they are coded

3. C++

• Popularity: High
• Salary expectations: Typically between USD$70,077 and $82,457

• Ease of Learning: Difficult

• Use Cases: General Use, Specialty


• Local Applications

• Web Services

• Proprietary Services

C++ extends C with object-oriented features. The “double-plus”


comes from the increment operator from C. C++ was developed to
bring features from older languages to faster, more powerful
platforms.

C++ occupies a similar area in the market to C, including systems


programming and low-level hardware development. Over the years,
the C++ standard libraries and specifications have been expanded
considerably, leading to criticism that it has become
overcomplicated and difficult to learn.

Pros

• Templating and inheritance make it easy to flexibly reuse design


components

• A reputation for being very stable

Cons

• Often accused of being “bloated”

• C++’s complexity and abundance of features can compromise


performance

4. Java

• Popularity: Very high


• Salary expectations: typically between USD$84,316 - $112,332/yr
in the US

• Ease of Learning: Moderate to Difficult

• Use Cases: General Use and Specialty


• Web applications
• Mobile

• Embedded systems

Java is the leading general-purpose application development


language and framework. It was introduced in 1991 by Sun
Microsystems as a high-level, compiled, memory-managed
language.

Java’s syntax is similar to C/C++, with curly braces for closures and
semicolons to end statements. Automatic memory management is
one of the features that made Java so popular after its initial
release. Before Java was introduced, languages that required
manual memory management, such as C and C++, were dominant.
Manual memory allocation is tedious and error-prone, so Java was
hailed as a major step forward for application developers.

The promise of Java, beyond memory management, was its cross-


platform capability. This was marketed as “write once, run
anywhere.” The Java Virtual Machine (JVM) runs Java bytecode,
which is compiled from the Java language. JVMs are available for
most major operating systems, including Linux, Mac, and Windows.
It doesn’t always work perfectly, but when it does, a program written
in Java can run on any platform with a compatible JVM.

Java is used for business, web, and mobile applications and is the
native language for Google’s Android OS. Java also powers
millions of set-top boxes and embedded devices. Java
development skills are highly sought after.

If you’re considering a career in software development, you should


strongly consider learning Java.

Pros

• Write Once, Run Anywhere: One version of Java code will run on
any machine.

• Backwards compatibility: the newest versions of Java are still


(mostly) compatible with even the oldest, making migrations
painless.

• Because Java has been so big for so long, there’s a huge


ecosystem of frameworks, libraries, and community support.
Cons

• The backwards compatibility principle is sometimes taken too far,


extending the life of outdated and flawed features that should be
retired.

• Greedy with memory and is a relatively verbose language,


especially compared to the modern syntax of competitors like
Python.

5. C#

• Popularity: High
• Salary expectations: typically falls between USD$97,446 and
$120,439

• Ease of Learning: Moderate

• Use Cases: General Use


• Web Applications

• Local Applications

• Services/Microservices

C# was developed and introduced by Microsoft in 2000, along with


the overall .NET framework. Syntactically, C# is very similar to Java
and C/C++. It is a compiled, object-oriented language that compiles
to .NET Intermediate Language. Originally, C# was used for
Microsoft-focused development of Windows Forms and web
development with ASP.NET. The .NET ecosystem has evolved
recently with the introduction of the .NET Standard and .NET Core.
These new frameworks and standards are cross-platform, running
on Windows, Linux, and Mac.

C# is popular for local and web application programming, often (but


not necessarily) in systems developed primarily based on Microsoft
technology. Microsoft’s Xamarin framework allows developers to
write Android and iOS applications in C#. It is suitable for systems
programming in some cases, and has libraries available for
embedded systems.

Pros

• Simple syntax makes C# more readable than predecessors

• Combined with .NET, powerful cross-platform flexibility

• Maintained by Microsoft, with strong documentation, updates, and


community support

Cons

• Dependent on .NET for cross-platform and performance capabilities

• Slow and steep learning curve

6. Visual Basic .NET

• Popularity: Low
• Salary expectations: approx. USD$84,000 on average

• Ease of Learning: Easy

• Use Cases: General Use


• Web Applications

• Local Applications

Visual Basic.NET (VB.NET) is Microsoft’s implementation of the


Visual Basic language that compiles to .NET Intermediate
Language. This allows developers to write .NET applications using
Visual Basic and is a favorite for beginners. Applications written in
VB.NET are just as capable as any. However, VB.NET was never
very popular for business applications, with serious application
developers preferring C, C++, and C#. Most applications written in
VB.NET tend to be older and written for specific purposes, and are
likely to be considered to be “legacy” applications destined for
decommission or redevelopment.

Pros
• Beginner-friendly

• Ideal for spinning up a quick prototype

Cons

• Bloated syntax

• Code written in VB .NET tends to have poor performance

7. JavaScript

• Popularity: Very High


• Salary expectations: typically between USD$97,858 and $120,182

• Ease of Learning: Moderate

• Use Cases: General Use


• Local Applications

• Web Applications

JavaScript is a high-level, dynamically typed, interpreted language.


It uses Java-like syntax, hence the name JavaScript. JavaScript
was first introduced in the early days of the public Internet, 1995.
JavaScript is used to write code that runs in web browsers, on the
client side. If you’ve been using the Web long enough to remember
the introduction of Google Maps, you witnessed some of the first
magic: the “infinite scrolling” in Maps is done using JavaScript.

Since its first introduction, JavaScript support has been added to all
major web browsers. JavaScript frameworks including React,
Angular, and Vue offer a Model-View-Controller application
development paradigm, running entirely in the browser. JavaScript
now supports the visual, browser-run elements of most modern
web applications, which is why most Real User Monitoring tools
cater for JavaScript.

JavaScript can also be combined with HTML to make cross-


platform mobile applications. NodeJS is a web server that runs
JavaScript on the server side. NodeJS applications are written
entirely in JavaScript.

Given all these use cases and support, JavaScript is both popular
and in high demand. It’s not very difficult to learn, though there are
advanced programming techniques that take time to master. If
you’re more comfortable with object-oriented languages, consider
looking into TypeScript. TypeScript “overlays” object-oriented
features and syntax, and transpiles to native JavaScript.

Pros

• Easy to learn and in wide demand

• Immense versatility (as evidenced by being so widespread)

• Rapid development and debugging

Cons

• JavaScript isn’t “strict” and won’t enforce good habits, leading to


bad code from inexperienced developers

• Running client-side opens landmines in browser interpretation and


security vulnerabilities

8. SQL

• Popularity: Very High


• Salary expectations: typically between USD$81,506 and $101,426

• Ease of Learning: Easy to Moderate

• Use Cases: Specialty


• Database Queries

SQL stands for Structured Query Language. SQL is used to query


and modify data in a Relational Database Management System
(RDBMS.) Vendor-specific implementations, such as PL/SQL
(Oracle) and T-SQL (Microsoft) offer product-specific features.

SQL isn’t a general-purpose language that can be used to write


applications. However, it is at least a useful, if not required skill of
most developers. The term “full-stack developer” refers to a
developer with a well-rounded skill set that includes all aspects of
an application. This almost always includes accessing and saving
data to a database. SQL is not hard to learn initially, though there
are advanced use cases in Big Data and data analysis that require
significant experience.

SQL is very popular with both developers and Database


Administrators, so jobs that require SQL skills are plentiful.
However, it is not a complete standalone skill set. SQL experience
is a big plus on a resume, but it’s really only one of the skills
required for any given job.

Pros

• Concise syntax and range of functions

• Invaluable for enterprise systems

• A valuable supplementary skill

Cons

• Reliant on a database engine to run

• Limited scope and capabilities

9. Assembly language

• Popularity: Low
• Salary expectations: typically between USD$70,000 - $98,000

• Ease of Learning: Difficult

• Use Cases: Specialty


• Systems Programming

• Hardware / Firmware development

“Assembly language” is a generic term for low-level code that


closely represents the native machine instructions for a given
microprocessor. Most of the languages on this list are “high-level”
languages that are closer, syntactically, to English. High-level
language code must be compiled down to an intermediate
bytecode, or directly to machine instructions. Assembly code is
assembled, (hence the name) not compiled.

The intent of a line of code written in C or Ruby is relatively easy to


understand, just by reading it. Assembly, by contrast, is very difficult
to understand without a careful reading of the entire program. Each
operation, including math operations and moving data in and out of
registers, is a complete statement. This means that it takes a lot
more assembly code than C code to do the same amount of work.

Assembly code is most useful when performance is the most


important goal. It is used for very low-level systems programming,
or in some cases may be combined with application code for a
performance boost. Jobs that require knowledge of assembly will
include systems programming and hardware development, but it’s
not a common core requirement.

Pros

• Minimal execution time and memory use

• Helps the developer to better understand machine-level computer


architecture

Cons

• Very difficult to read and write

• A good supplementary skill, but not a first language

10. PHP

• Popularity: High
• Salary expectations: typically between USD$77,239 - $102, 413 in
the USA
• Ease of Learning: Easy

• Use Cases: General Use


• Web Applications

PHP originally stood for “Personal Home Page” as part of its first
name, PHP/FI (Forms Interpreter.) The official acronym is now
PHP: Hypertext Processor. Its primary role is as a web application
server-side scripting system. It was originally developed to extend a
CGI program to support HTML forms and database access. The
code of a PHP program is mixed in with the HTML, making it similar
to Microsoft’s classic (pre-.NET) Active Server Pages. The
interpreter reads the HTML and code, and executes the code
portions of the page.

PHP is popular because it’s easy to learn. It is also the basis of


popular web-based applications such as WordPress and Joomla.
However, PHP also has a mixed reputation relating to software
quality. Early versions lacked security controls and features that
made it difficult to develop highly-secure applications. Recent
developments in PHP frameworks and libraries have made
improvements in security.

There are plenty of PHP jobs available for content-focused web


applications like WordPress, and proprietary systems developed in
PHP.

Pros

• A powerful backend language

• Stable and maintainable

• Excellent community support and mature ecosystem

Cons

• Better suited for web applications than desktop

• Some criticisms that PHP lacks security

11. R
• Popularity: Low
• Salary expectations: typically between USD$74,619 - $95,401

• Ease of Learning: Difficult

• Use Cases: Specialty


• Statistical Computation and Analysis

The programming language R is primarily used by statisticians and


researchers to perform statistical analysis of datasets.
Demographers, insurance actuaries, and other jobs focused on
statistics use R. Because of these practical fields of application, its
code mass is considerable. As with MATLAB, most of the
knowledge needed to work with R relates to statistics. R
programmers combine statistics knowledge with the essentials of
programming and software development.

Not many programmers are proficient in R, and the number of jobs


also isn’t huge due to the specialized nature of the work. However,
R knowledge can be a big advantage for data analysts doing
statistical work. If that work sounds like something you want to look
into, you should strongly consider adding R to your toolbox.

Pros

• Powerful specialized tool for academia and industry

Cons

• Limited applications

12. Go

• Popularity: Low
• Salary expectations: approximately USD$102,329 on average

• Ease of Learning: Moderate


• Use Cases: General
• Web Applications

• Local Applications

Go (also known as Golang) is a relatively new kid on the block. It


was introduced by two Google engineers in 2009. Go syntax
borrows heavily from C and Java. The design goals for Go included
cross-platform compatibility, simplicity, and support for modern
processors.

Go is relatively easy to learn. It has some of the complexities of C/


C++ (such as pointers) but its syntax and conventions are simpler.
There’s a rapidly growing following in engineering and DevOps
circles, and Go is a popular language in growing fields like machine
learning. And because knowledge of Go is comparatively rare, roles
that require proficiency in Go can be more lucrative.

Pros

• Growing in popularity driven by Google’s endorsement

• Fast and powerful

• Experienced programmers can learn relatively quickly

Cons

• Not yet as firmly established as its peers

13. Visual Basic

• Popularity: Low
• Salary expectations: typically between USD$62,403 and $78,169

• Ease of Learning: Easy

• Use Cases: General


• Local Applications

Visual Basic (VB) was introduced by Microsoft as a variant of the


BASIC programming language. It is an event-driven language and
Integrated Development Environment, primarily used to develop
Windows applications. VB was designed to be easy to learn and to
rapidly produce usable software. Visual Basic for Applications
(VBA) is embedded in older versions of Microsoft Office
applications, such as Access. VBA was used to provide
programmatic manipulation of Office documents. Access databases
used VBA to compose mini-applications.

Microsoft deprecated Visual Basic 6.0, the last version of Visual


Basic, in 2008. While much code remains in the wild, it is no longer
supported and jobs that require Visual Basic are dwindling. It is
likely that any remaining jobs are focused on maintenance and/or
porting to a modern platform.

Pros

• A good tool for beginners

• Extremely accessible and simple

Cons

• No longer relevant

• Microsoft-specific

14. MATLAB

• Popularity: Medium
• Salary expectations: approx. USD$83,000 on average

• Ease of Learning: Moderate to Difficult

• Use Cases: Specialty


• Mathematical Research

MATLAB is not a programming language per se. Strictly speaking,


it’s an application used to calculate and model complex
mathematical computations. It is used primarily in research
settings, at universities and labs. MATLAB can handle complex
matrix manipulations, and supports extensions to use complex
mathematical notation. Functions written in C, C#, and FORTRAN
can be called from MATLAB.

The knowledge needed to use MATLAB is more related to


mathematical concepts and skills than knowledge of programming.
If you’re already an advanced math student, for example working
on a PhD in mathematics, MATLAB is relatively easy to learn.
MATLAB is a valuable skill for those seeking a job in engineering or
mathematics.

Pros

• Ideal for visualizing and manipulating technical data

• Many libraries and functions to sort common use cases

Cons

• Narrow specialty applications

• Requires mathematical background

15. Swift

• Popularity: Medium
• Salary expectations: Typically between USD$74,406 - $99,129

• Ease of Learning: Moderate to Difficult

• Use Cases: Apple Mobile and Desktop applications


• MacBook

• iPhone

• iPad

Apple introduced Swift in 2014 as a modern alternative to


Objective-C. Its goals were to be easier to debug than Objective-C.
Swift syntax is easier to read, and requires less code to do the
same amount of work. However, poor version compatibility
introduced with new versions may have stunted its adoption.

Despite a complicated history, there are a fair number of jobs


available for Swift, and it is likely that it’s here to stay. As mentioned
in the Objective-C listing below, if you want to develop for the Apple
ecosystem, hedge your bets and learn both.

Pros

• Popularity is stabilizing after a rocky beginning

• Less verbose and more readable, fostering better developer


experience

Cons

• Lingering backwards compatibility issues

16. Delphi/Object Pascal

• Popularity: Low
• Salary expectations: typically between USD $80,000 - $150,000

• Ease of Learning: Moderate

• Use Cases: General


• Local ppplications (mobile and desktop)

• Web applications (frontend: transpilation to JS, backend: REST


middlewares)

Delphi is a programming language and Integrated Developer


Environment (IDE) for the Object Pascal language. Modern Object
Pascal is an object-oriented, multi-paradigm derivative of
procedurally oriented Pascal. Pascal was originally intended as a
teaching tool, appeared in 1970.

This remains on the TIOBE list despite its age because there’s a lot
of software out there written in Object Pascal with Delphi. New
code is still being written in the language to this day. If you want to
write software as a profession, Delphi and the Modern Object
Pascal language is worth considering adding to your toolbelt.

Pros

• Concepts like OOP and structuring maintainable code are


transferable to other languages

• Supports multi platform development for mobile, desktop and the


web.

• Efficient turnaround from idea to product.

• Modern, fast compilers.

Cons

• Job market fluctuates and isn’t as robust as distant cousin C#.

• The IDE and compilers are proprietary, which open-source


advocates don’t like.

17. Ruby{ruby}

• Popularity: High
• Salary expectations: typically between USD$71,811- $89,431

• Ease of Learning: Easy to Moderate

• Use Cases: General


• Web Applications

• Scripting

Ruby is an interpreted, dynamically typed, object-oriented language


first introduced in the mid-1990s. It was inspired by several other
languages, including Lisp, Perl, and Ada. Ruby is very popular for
web application development. The Ruby on Rails framework (now
known simply as “Rails”) is a model-view-component server-side
framework written in Ruby.

Ruby is fairly easy to learn. Its common use in web applications


and steady growth makes job opportunities easy to find.

Pros

• Easy to learn

• Healthy job prospects

• A leader in the web dev world

Cons

• Not a high-performance language

• Difficulty of debugging

18. Perl

• Popularity: High
• Salary expectations: typically approx. USD$77,714 on average

• Ease of Learning: Easy to Moderate

• Use Cases: General


• Local Applications

• Web Applications

Perl was introduced in 1987 as a utilitarian scripting language,


evolving from CGI scripting. Recent releases of Perl are quite
different from early releases.

Perl is fairly easy to learn, but it has its detractors. The


development of Perl was somewhat haphazard, leading to criticism
that it is not well-organized. This has given Perl a reputation for
being less than robust.

A lot of software has been written in Perl, and that continues to this
day. Perl jobs are not hard to find. Having said that, it would be a
stretch to say that Perl is a “modern” language. Perl may be a good
language to learn early in a career as a way to get started, but it
shouldn’t be the only one.
Pros

• Features like dynamic typing are designed to make development


easier

• A practical and utilitarian language

Cons

• Use of special characters makes Perl an “ugly” language

• High CPU consumption

19. Objective-C

• Popularity: High
• Salary expectations: typically approx. USD$104,000/yr in the USA

• Ease of Learning: Difficult

• Use Cases: Mobile Applications


• Apple iOS devices: iPhone, iPad

Objective-C is a general purpose, compiled, object-oriented


language. Its syntax is derived from Smalltalk. Until 2014, when
Apple introduced Swift, it was the primary language used by Apple
to develop applications for MacOS and iOS.

Objective-C is still relatively popular due to the large number of


applications available that were written using it. Now that modern
MacOS and iOS development is primarily in Swift, it’s likely that this
popularity will eventually fall off as the number of supported
applications tapers over time. Objective-C is not easy to learn. It
uses syntax and language conventions that are not common to
other languages, so experience with other languages does not
apply well to Objective-C.

If you want to focus on software development for the Apple


ecosystem, it’s a good idea to pick up both Objective-C and Swift.
This will give you the ability to work on older applications written in
Objective-C, and write new applications in Swift. Between the two,
jobs are readily available.

Pros

• Still indispensable for iOS development

Cons

• Non-transferrable principles

• Will likely eventually be replaced

• Challenging to learn

Want to read on about the other programming languages? You can


read Part 2 of 40 most popular programming languages 2023:
When and how to use them them in our next blog post.
raygun.com

40 most popular programming


languages 2023: When and how to use
them - Part 2
19–24 minutes

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!

You might also like