Programming Languages Comparative

This page compares 35 programming languages on the same metrics: the 21 languages documented on this site, plus 14 more that matter for context. Every number carries a source and a date, and anything that could not be sourced is shown as n/a instead of being estimated. The data snapshot date is 2026-10-26: all sources were read on that day unless a caption says otherwise. Metrics such as popularity indices and registry counts change every month, so treat the figures as a dated snapshot, not as current values.

The raw data, the chart generator and the scoring rubric are kept in the repository under scripts/language-charts/, so the charts can be regenerated when new data is published. Jump to the Summary and recommendations if you only need the conclusions.

Scope and inclusion criteria

A language is included when at least one of these holds:

  1. It is already documented on this site. These 21 languages are linked wherever they appear:

C, COBOL, C++, C#, Fortran, Go, Groovy, Java, JavaScript, Kotlin, MATLAB, Objective-C, PHP, Python, R, Ruby, Rust, Scala, Swift, TypeScript, Visual Basic. . It ranks in the TIOBE top 50 (October 2026) or in another main index used here (PYPL, IEEE Spectrum, RedMonk, the Stack Overflow survey). . It matters for history or growth: a historic standardised language (Ada, Lisp, Pascal) or a recent fast-growing one (Zig, Mojo, Elixir).

The 14 extra languages are Pascal/Delphi, Perl, Ada, Lisp, Assembly, Dart, Julia, Zig, Elixir, Lua, Haskell, Mojo, SQL and Bash. Some of them get fewer metrics because data is scarce:

  • Mojo, Bash, Elixir and Groovy are not ranked in the TIOBE top 50. Mojo, Elixir and Bash have no PYPL entry, and Mojo and Bash have no Benchmarks Game or energy data.

  • Assembly, SQL and Bash are not a single implementation, so they have no registry, release cadence, licence or benchmark.

  • Zig, Mojo and Julia are absent from the energy study; 15 of the 35 languages are.

  • The official sites of COBOL, Assembly, SQL, Bash, Lisp, Pascal/Delphi and MATLAB could not be checked automatically, so their onboarding score is n/a.

How metrics, scales and scores were assigned

Metrics. A value is recorded only when it was read in the source named for it. If a value was not found it is n/a and charts draw a gap, never a zero. Values that we derived from published tables (the Benchmarks Game ratios, the normalised peak memory) are labelled as derived. The table below lists every metric, what it measures, its source and its date.

Table 1. Metrics used on this page. The full list of sources is in the Bibliography.
Metric What it measures Source Edition or date Section

Year of first appearance

When the language was first released or announced

Timeline of programming languages

2026-10-26

Overview and timeline

TIOBE rating

Share of search-engine hits for "language programming" queries across major engines, a proxy for skilled engineers, courses and vendors

TIOBE Index

October 2026

Popularity

PYPL share

Share of Google searches for the language’s tutorials, relative to the 30 languages it tracks

PYPL PopularitY of Programming Language index

2026-10-26

Popularity

Stack Overflow usage, admired

Share of survey respondents who used the language, and who want to keep using it

Stack Overflow Developer Survey 2026 - Technology

Survey 2026 (v2026.1)

Popularity

IEEE Spectrum and RedMonk rankings

Composite rankings; stored in the data files but not charted

The Top Programming Languages 2025

2026-10-26

Popularity

Registry packages

Number of packages in the language’s main registry (units differ)

npm registry replica and package metadata

2026-10-25/26

Ecosystem

CPU time vs fastest

Geometric mean over 7 benchmark programs of CPU seconds relative to the fastest implementation (derived by us)

The Computer Language Benchmarks Game

Edition 25.03, measured 2025-03-05

Performance

Memory vs lowest

Same, for memory use

The Computer Language Benchmarks Game

Edition 25.03, measured 2025-03-05

Performance

Energy vs C

Energy consumed running the benchmark programs, normalised to C = 1.00

Ranking programming languages by energy efficiency

Table 4, preprint 2021-03-23

Performance

Onboarding score

Four yes/no checks on the official site: tutorial, reference, playground, one-command installer

the onb-* sources

2026-10-26 (one source per language)

Learning curve

Source size (gzip bytes)

Geometric mean of gzip bytes of the benchmark programs, a verbosity proxy rather than lines of code

The Computer Language Benchmarks Game

Edition 25.03

Learning curve

Learning-to-code usage

Share of respondents learning to code who used the language extensively

Stack Overflow Developer Survey 2025 - Technology

Survey 2025

Learning curve

Memory-safety classification

Whether official guidance classifies the language as memory safe

Back to the Building Blocks: A Path Toward Secure and Measurable Software

February 2024 and other cited documents

Security and safety

Memory-safety share of vulnerabilities

Share of vulnerabilities rooted in memory-safety bugs at Microsoft, Chromium and Android

We need a safer systems programming language

2019 and 2024 posts

Security and safety

Purposes, paradigms, platforms

What the language is used for and where it runs, as stated in its encyclopedia article

Wikipedia language articles

2026-10-26

Versatility and platforms

Median salary

Median annual salary of respondents working with the language

Stack Overflow Developer Survey 2024 - Top paying technologies

Survey 2024

Job market and community

Contributors, adoption intent

Open-source contributor growth and intent to adopt next

Octoverse: A new developer joins GitHub every second as AI leads TypeScript to #1

Octoverse 2025, JetBrains 2025

Job market and community

Standard, cadence, licence

Formal standard, release rhythm and licence of the reference implementation

endoflife.date API

2026-10-26

Other metrics

Scales. Raw metrics are shown on their own units (percent, ratio to the best, USD). The scatter and radar charts use a 0-10 score, where 10 is the best value in the set. Metrics that span orders of magnitude (ratings, packages, time and energy ratios) use a logarithmic scale before conversion, so a language is not ranked by a single outlier.

Scores. Every radar score is computed by a formula from the sourced CSV values; no score is typed by hand. The rubric is summarised below. A language with a missing input on an axis gets n/a on that axis.

Table 2. The 0-10 scoring rubric. The full rubric, with the helper formulas, is in scripts/language-charts/data/NOTES.md.
Axis Formula Anchors

Popularity

mean of the log scale of the TIOBE rating and the linear scale of Stack Overflow usage (one input is enough)

10 = highest in the set

Ecosystem

log scale of registry packages (80%), plus 2 points for an actively maintained implementation; a formal standard is not scored, because its absence is rarely verified

n/a without a registry count

Performance

inverse log scale of the CPU ratio

10 = fastest in the Benchmarks Game set

Memory

inverse log scale of the memory ratio

10 = least memory

Energy

inverse log scale of the energy ratio

10 = C (1.00), 0 = worst in the paper

Learning (ease)

mean of the onboarding score and the inverse log scale of gzip bytes

10 = all four checks pass and the shortest sources

Safety

memory-safe = 10, memory-safe unless unsafe construct = 8, not memory safe = 2

anchors fixed by the cited classification

Versatility

share of the nine application domains (web front end, back end, mobile, desktop, embedded, systems, data and AI, scientific and HPC, mainframe) a cited source confirms: 10 * yes / 9, a lower bound because an unverified domain counts as not confirmed

n/a when fewer than five of the nine domains are known (yes or no)

Job market

linear scale of the Stack Overflow median salary

optional axis

The onboarding score is 10 * (number of yes) / (number of answered checks) over four checks on the official site: O1 a getting-started tutorial, O2 an online reference or specification, O3 an online playground or REPL, O4 a one-command toolchain installer. Checks that could not be answered are left out of the denominator, and the score is n/a if fewer than three could be answered.

Known limits of the data. Read these before drawing conclusions.

  • The popularity indices measure attention, not quality or market share. TIOBE counts search-engine hits, PYPL counts tutorial searches, and the Stack Overflow survey reflects its respondents.

  • Benchmarks Game ratios are derived by us from per-program tables (7 programs, edition 25.03); the site publishes only box plots. Benchmarks reward tuned programs and say little about a typical application.

  • The energy figures come from one study (Pereira et al., preprint dated 2021-03-23), which predates the current releases of every language. 15 languages are absent from it.

  • Registry counts are not comparable across registries and only LuaRocks has a historical series; no other history could be reached, and none is estimated.

  • The NSA June 2025 memory-safe language list could not be retrieved (HTTP 403), so most memory-safety classifications are n/a.

  • Salary is from the 2024 survey, because later surveys do not publish salary by language. It is a median over self-selected respondents, not a market survey.

  • The versatility score is a yes/no checklist of nine domains, each yes backed by a cited source. It measures breadth of use, not how good a language is in each domain.

Overview and timeline

The languages span more than six decades. The oldest of the 35 here are the historic Lisp, Fortran and COBOL families (see the table for the dates), and the newest are Swift (2014), Zig (2016) and Mojo (2023). The chart places every language by the year it first appeared, using the editorial groups of the table that follows (systems, legacy and enterprise, scripting, scientific and so on). The groups are only a way to colour the chart, not a sourced metric.

Scatter chart of the 35 languages by year of first appearance, coloured by editorial group
Figure 1. When each language first appeared. Source: Wikipedia timeline of programming languages, retrieved 2026-10-26.
Table 3. First appearance and editorial group of every language. First appearance: Wikipedia timeline of programming languages, retrieved 2026-10-26. The group is an editorial classification used only to colour the charts.
Language First appeared Editorial group Documented on this site

Fortran

1954-1955

scientific and data

yes

Lisp

1956-1958

functional research

no

COBOL

1959

legacy and enterprise

yes

C

1972

systems

yes

SQL

1972

scientific and data

no

MATLAB

1978 (uncertain in source)

scientific and data

yes

Ada

1980

systems

no

C++

1983

systems

yes

Objective-C

1983

apple platforms

yes

Pascal/Delphi

1986 (Object Pascal); Pascal 1970

legacy and enterprise

no

Perl

1987

web and scripting

no

Bash

1989 (Bash); Bourne shell 1977

web and scripting

no

Haskell

1990

functional research

no

Python

1991

web and scripting

yes

Visual Basic

1991

general-purpose VM

yes

Lua

1993

web and scripting

no

R

1993

scientific and data

yes

Java

1995

general-purpose VM

yes

JavaScript

1995

web and scripting

yes

PHP

1995

web and scripting

yes

Ruby

1995

web and scripting

yes

C#

2000

general-purpose VM

yes

Scala

2003

general-purpose VM

yes

Groovy

2004

general-purpose VM

yes

Go

2009

systems

yes

Rust

2010

systems

yes

Dart

2011

general-purpose VM

no

Kotlin

2011

general-purpose VM

yes

Elixir

2012

web and scripting

no

Julia

2012

scientific and data

no

TypeScript

2012

web and scripting

yes

Swift

2014

apple platforms

yes

Zig

2016

systems

no

Mojo

2023

scientific and data

no

Assembly

n/a (ambiguous: 1952 autocode; 1964 BAL)

systems

no

Age is not obsolescence: C (1972), Fortran and COBOL are still maintained and standardised, and the later sections show how differently they score on popularity, ecosystem and safety.

Popularity

Popularity is the most requested and the least precise metric. This page uses three independent signals: the TIOBE index (search-engine hits), PYPL (tutorial searches) and the Stack Overflow Developer Survey (what developers say they use and admire). In October 2026 the TIOBE top six are Python (19.23%), C (11.33%), C++ (8.87%), Java (8.41%), C# (3.79%) and JavaScript (2.77%). Python is also first in PYPL with a 53.9% share, followed by Java with 12.98%, while C and C++ share one combined PYPL entry (7.97%). The Stack Overflow survey tells a different story because it counts usage by respondents: JavaScript (62%), SQL (58.4%), Python (58%), Bash (51.3%) and TypeScript (43.8%) lead, and Rust has the highest admired score (67.4%).

Horizontal bar chart of the TIOBE rating of every language in October 2026, led by Python, C, C++ and Java
Figure 2. TIOBE rating of every language, in percent. Source: TIOBE Index, October 2026. Languages outside the top 50 show n/a.
Horizontal bar chart of the PYPL share of every language, led by Python, with n/a for languages PYPL does not track
Figure 3. PYPL share (tutorial searches). C and C++ are one combined entry. Source: PYPL PopularitY of Programming Language, retrieved 2026-10-26.

The history shows trends that a single month hides. In TIOBE, Python grew from 1.25% (June 2001) to 3.90% (2016), 11.84% (2021) and 25.87% (June 2025) before the October 2026 value of 19.23%. Java fell from 26.49% in 2001 to 8.41%; PHP went from 10.32% (2004) to 1.26%; Visual Basic and Pascal/Delphi also lost ground in PYPL, where Visual Basic dropped from 8.66% (2004) to 0.10% and PHP from 19.71% to 1.74%. Go (0.21% in 2016 to 1.39%) and Rust (0.26% to 1.44%) grew from a very low base. The charts sample each year in June, plus the latest month, and show 8 languages per index.

Line chart of the TIOBE rating of 8 languages sampled every June since 2001
Figure 4. TIOBE rating of 8 languages, June of each year since 2001 plus the latest month. Source: TIOBE Index monthly series, retrieved 2026-10-26.
Line chart of the PYPL share of 8 languages sampled every June since 2004
Figure 5. PYPL share of 8 languages, June of each year since 2004 plus the latest month. Source: PYPL data file, retrieved 2026-10-26.

The scatter charts compare today’s rating with the change since June 2016, so they separate big and shrinking languages from small and growing ones. The second chart zooms on the languages below 4%, where most of the crowd sits.

Scatter chart of the TIOBE rating in October 2026 against its change since June 2016, one point per language
Figure 6. TIOBE rating against change since June 2016, all languages with data. Source: TIOBE Index monthly series, retrieved 2026-10-26.
The same scatter chart zoomed on the languages with a TIOBE rating below 4 percent
Figure 7. The same chart, zoomed on languages below 4%. Source: TIOBE Index monthly series, retrieved 2026-10-26.
Table 4. Popularity indices. TIOBE: TIOBE Index, October 2026. PYPL: PYPL, retrieved 2026-10-26 (C and C++ are one combined entry, never to be summed). Stack Overflow: Developer Survey 2026. n/a means the source does not list the language.
Language TIOBE rating, % (rank) PYPL share, % SO 2026 usage, % SO 2026 admired, %

C

11.33 (#2)

7.97

21.8

45.9

COBOL

0.89 (#16)

0.04

1.1

28

C++

8.87 (#3)

7.97

24.3

45.8

C#

3.79 (#5)

1.46

27.1

50

Fortran

1.12 (#13)

n/a

1.7

33.1

Go

1.39 (#11)

0.53

16.5

49.5

Groovy

n/a

0.04

3.9

21.9

Java

8.41 (#4)

12.98

27.6

38.5

JavaScript

2.77 (#6)

2.81

62

42

Kotlin

0.48 (#32)

0.45

10.8

43.1

MATLAB

0.83 (#20)

0.82

3.6

24.4

Objective-C

0.61 (#25)

3.51

2.5

21.3

PHP

1.26 (#12)

1.74

17.7

35.7

Python

19.23 (#1)

53.9

58

50.6

R

2.06 (#8)

3.87

4.5

40.7

Ruby

0.53 (#28)

0.7

5.8

42.4

Rust

1.44 (#10)

1.56

18

67.4

Scala

0.37 (#40)

0.22

2.2

39.2

Swift

1.03 (#14)

1.47

5.9

48.5

TypeScript

0.41 (#38)

1.33

43.8

53

Visual Basic

2.20 (#7)

0.1

4

25.5

Pascal/Delphi

0.83 (#19)

0.09

1.9

36

Perl

0.88 (#17)

0.06

3.8

30.7

Ada

0.82 (#21)

1.55

1.2

38.4

Lisp

0.42 (#36)

n/a

2.6

55.4

Assembly

0.76 (#23)

n/a

7.2

48.3

Dart

0.60 (#27)

0.47

4.9

42.3

Julia

0.88 (#18)

0.42

1.5

47.4

Zig

0.27 (#46)

0.13

2.8

58.3

Elixir

n/a

n/a

2.6

62.1

Lua

0.44 (#35)

0.45

9.4

40.8

Haskell

0.33 (#41)

0.08

2.3

47.8

Mojo

n/a

n/a

0.6

45.1

SQL

1.97 (#9)

n/a

58.4

51.4

Bash

n/a

n/a

51.3

48.1

Popularity indices are published monthly (TIOBE, PYPL) or yearly (the surveys), so this section is the fastest to go out of date.

Ecosystem

A language is as productive as its libraries. The registry sizes below are a 2026 snapshot taken from each registry’s own API: npm holds 4,532,034 packages (shared by JavaScript and TypeScript), PyPI 923,102 projects, Maven Central 661,801 artifacts (shared by Java, Kotlin, Scala and Groovy), NuGet 528,060 package IDs (C# and Visual Basic), Packagist 470,008 package names, crates.io 361,763 crates and RubyGems 197,949 gems. Smaller registries are pub.dev (93,435), CPAN (52,878 distributions), CRAN (25,529), Hex (22,923), Hackage (19,594), Julia General (14,627), the Swift Package Index (12,380) and LuaRocks (6,943). The units are not identical (packages, artifacts, distributions, modules), and registries differ in how much they split a project into packages, so use the chart for orders of magnitude, not for exact ranking. C, C++, Go, Fortran and COBOL have no verified central registry count and show as n/a, which does not mean they have no libraries. For the same reason their Ecosystem axis on the radar charts is a gap, not a low score.

Horizontal bar chart of the number of packages in each language registry, led by npm, with different units per registry
Figure 8. Package registry sizes, 2026 snapshot (units differ). Sources: registry APIs, npm, PyPI, Maven Central and the others in the Bibliography, 2026-10-25/26.

Growth over time could be sourced for only one registry. The registry growth chart therefore shows LuaRocks only: 85 modules at the end of 2013, 750 in 2014, 1,577 in 2016 and 6,943 in 2026. Historical counts for npm, PyPI and the others were not reachable (the aggregator failed TLS and the web archive was rate limited), and no history was estimated.

Line chart of the yearly number of LuaRocks modules from 2013 to 2026, the only registry with a sourced history
Figure 9. LuaRocks modules per year, 2013-2026. Only LuaRocks has a sourced history; no other registry series is shown. Source: luarocks.org/stats, retrieved 2026-10-26.
Table 5. Package registries with a recorded name or count, 2026-10-25/26 snapshot. Counts of different registries are not directly comparable, because the unit differs (see the unit column); languages sharing a registry share its count. Languages not listed have no verified central registry count.
Language Registry Count Counted unit Source

C#

NuGet

528,060

package IDs

nuget-api

Go

Go module proxy / index (proxy.golang.org, index.golang.org)

n/a

n/a

n/a

Groovy

Maven Central

661,801

artifacts (groupId:artifactId)

maven-search

Java

Maven Central

661,801

artifacts (groupId:artifactId)

maven-search

JavaScript

npm

4,532,034

packages

npm-registry

Kotlin

Maven Central

661,801

artifacts (groupId:artifactId)

maven-search

PHP

Packagist

470,008

package names

packagist-api

Python

PyPI

923,102

projects

pypi-simple

R

CRAN

25,529

packages

cran

Ruby

RubyGems

197,949

gems

rubygems-stats

Rust

crates.io

361,763

crates

crates-io-api

Scala

Maven Central

661,801

artifacts (groupId:artifactId)

maven-search

Swift

Swift Package Index

12,380

packages

swift-package-index

TypeScript

npm

4,532,034

packages

npm-registry

Visual Basic

NuGet

528,060

package IDs

nuget-api

Perl

CPAN (MetaCPAN)

52,878

distributions

metacpan-api

Dart

pub.dev

93,435

packages

pubdev-api

Julia

Julia General registry

14,627

packages

julia-general

Elixir

Hex

22,923

packages

hex-api

Lua

LuaRocks

6,943

modules

luarocks-stats

Haskell

Hackage

19,594

packages

hackage-api

Release information at the snapshot (endoflife.date): Python 3.15.1, Rust 1.99.1 and Java 27 (non-LTS) with Java 25 as the latest LTS. Registry counts grow daily, so they are the quickest numbers on this page to be exceeded.

Performance

Three measurements are used: CPU time and memory from the Benchmarks Game (7 programs: fannkuch-redux, n-body, spectral-norm, mandelbrot, fasta, k-nucleotide and reverse-complement), and energy from a peer-reviewed study. They answer different questions: how fast and how lean a tuned program can be, and how much energy it needs.

CPU time. Compiled languages cluster near the fastest: C is 1.19 times the fastest implementation, C++ 1.35, Rust 1.45 and C# 1.93. Java is 4.16, Go 4.04 and JavaScript 6.78. Interpreted languages are one to two orders of magnitude slower: PHP 40.68, Lua 56.17, Ruby 60.09, Python 74.18 and Perl 78.29. Kotlin, Scala, Groovy, MATLAB, R and others are not in the benchmark set and show n/a.

Horizontal bar chart of CPU time relative to the fastest implementation, from C at 1.19 times to Perl at 78.29 times
Figure 10. CPU time relative to the fastest implementation, lower is better. Source: Benchmarks Game edition 25.03 (derived by us, geometric mean over 7 programs), measured 2025-03-05.

Memory. Pascal uses the least (1.10 times the lowest) and C sits at 2.81. Garbage-collected runtimes use much more: Python 12.30, Java 33.20 and JavaScript 37.21, with Dart at 81.72 and Julia at 123.98. Fast does not mean lean: Julia is among the faster languages on CPU (2.28) but at the top of the memory range.

Horizontal bar chart of memory use relative to the lowest, from Pascal at 1.10 times to Julia at 123.98 times
Figure 11. Memory use relative to the lowest, lower is better. Source: Benchmarks Game edition 25.03 (derived by us, geometric mean over 7 programs), measured 2025-03-05.

Energy. Relative to C (1.00), Rust uses 1.03, C++ 1.34, Ada 1.70, Java 1.98, C# 3.14, Go 3.23 and JavaScript 4.45; TypeScript uses 21.50, PHP 29.30, Ruby 69.91, Python 75.88 and Perl 79.58. The ranking follows the CPU ranking closely, because energy is mostly time spent running. The study is from 2021 and some languages have changed since, so read it as a rough guide.

Horizontal bar chart of energy use relative to C, from C at 1.00 to Perl at 79.58
Figure 12. Energy use relative to C (C = 1.00), lower is better. Source: Pereira et al. 2021, Table 4. Languages absent from the paper show n/a.

Speed usually costs ease of learning, but not always. The scatter charts below plot the performance and energy scores against the learning (ease) score described in the next section. Languages in the upper right are both fast or efficient and easy to start with; Python, Ruby and Perl are easy but slow, and C and C++ are fast but score lower on ease.

Scatter chart of the performance score against the ease-of-learning score, coloured by editorial group
Figure 13. Performance score against ease-of-learning score (0-10 each, rubric in How the scores were assigned). Sources: Benchmarks Game 25.03 and the onboarding sources, 2026-10-26.
Scatter chart of the energy score against the ease-of-learning score, coloured by editorial group
Figure 14. Energy score against ease-of-learning score (0-10 each). Sources: Pereira et al. 2021 and the onboarding sources, 2026-10-26.
Table 6. CPU time and memory: Benchmarks Game 25.03 (measured 2025-03-05), derived by us as the geometric mean over 7 programs. Energy: Pereira et al. 2021, Table 4 (C = 1.00). Execution model: the language documentation cited in the Bibliography (per-language sources are listed in the data files). Lower is better in the three numeric columns; n/a means not measured.
Language CPU time vs fastest Memory vs lowest Energy vs C Execution model

C

1.19

2.81

1.00

n/a

COBOL

n/a

n/a

n/a

compiled to native executables (GnuCOBOL implementation)

C++

1.35

3.36

1.34

n/a

C#

1.93

18.87

3.14

compiled to CIL, then JIT-compiled to native code at run time

Fortran

2.64

5.34

2.52

compiled

Go

4.04

3.73

3.23

compiled (statically typed)

Groovy

n/a

n/a

n/a

n/a

Java

4.16

33.20

1.98

compiled-VM-bytecode (Java Virtual Machine, abstract machine with instruction set)

JavaScript

6.78

37.21

4.45

interpreted or just-in-time compiled

Kotlin

n/a

n/a

n/a

compiled, multi-target (JVM, Android, JavaScript, Wasm, Native)

MATLAB

n/a

n/a

n/a

n/a

Objective-C

n/a

n/a

n/a

compiled code plus a required runtime system

PHP

40.68

13.96

29.30

compiled to bytecode (opcodes), cached by OPcache

Python

74.18

12.30

75.88

compiled to bytecode, run by the CPython interpreter

R

n/a

n/a

n/a

interpreted language core with optional byte-code compiler

Ruby

60.09

14.03

69.91

compiled to VM instructions (YARV) and interpreted

Rust

1.45

4.35

1.03

ahead-of-time compiled

Scala

n/a

n/a

n/a

compiled; JVM, JavaScript and Native runtimes

Swift

3.94

10.86

2.79

n/a

TypeScript

n/a

n/a

21.50

transpiled (compile-time type checker over the JavaScript runtime)

Visual Basic

n/a

n/a

n/a

compiled to CIL by a CLR-targeting compiler

Pascal/Delphi

4.82

1.10

2.14

compiled (Free Pascal compiler)

Perl

78.29

13.65

79.58

compiled to an internal form, then interpreted

Ada

3.53

6.05

1.70

n/a

Lisp

4.44

21.28

2.27

native-code compiler (SBCL), optional interpreter

Assembly

n/a

n/a

n/a

assembler (NASM) translating source to object formats

Dart

5.99

81.72

3.83

JIT (Dart VM) and AOT compiled machine code

Julia

2.28

123.98

n/a

n/a

Zig

n/a

n/a

n/a

n/a

Elixir

n/a

n/a

n/a

runs on the Erlang VM

Lua

56.17

4.52

45.98

bytecode interpreted by a register-based virtual machine

Haskell

4.25

11.80

3.10

compiled (GHC) or interpreted (GHCi)

Mojo

n/a

n/a

n/a

compiled (ahead-of-time)

SQL

n/a

n/a

n/a

declarative; executed by the DBMS via a planner-generated execution plan

Bash

n/a

n/a

n/a

interpreted (command language interpreter)

TechEmpower web-framework throughput (Round 23, 2025-01-30, TechEmpower Framework Benchmarks) is kept in the data files but is not charted here. Benchmarks change with each language release and each edition of the sources.

Learning curve and ease of use

Ease of learning has no universal measure, so this page uses transparent proxies and labels them: the onboarding score (what the official site offers a newcomer), the size of the benchmark programs (a verbosity proxy), the type system, and how many people who are learning to code use the language. Python, C#, Go, Rust, Scala, Visual Basic, Ada and Haskell reach the maximum onboarding score of 10: their official sites pass all four checks. C and JavaScript score 2.5, one of the four checks each (the C standard is maintained by a committee, so its official site hosts no tutorial). Source size ranges from 442.54 gzip bytes for Ruby, 483.39 for Python and 510.95 for PHP, up to 1,003.60 for Rust and 1,375.31 for Ada. Among people learning to code, Python (71.8%) and JavaScript (62.8%) are the most used in the 2025 Stack Overflow survey.

The onboarding score measures how well the official site helps a beginner, not how hard the language is; a language with a rich third-party community can be easy to learn and still score low. Use it together with the usage figures. The Python, Go and Rust references on this site start with a getting-started page for that reason.

Table 7. Learning-curve inputs. Onboarding score: our rubric over the official sites (checks listed in the Bibliography as onb-* sources), 2026-10-26. Source size: Benchmarks Game 25.03, geometric mean of gzip bytes of the benchmark programs (a verbosity proxy). Learning-to-code usage: Stack Overflow Developer Survey 2025. Type system: Wikipedia infobox of each language (Wikipedia), retrieved 2026-10-26.
Language Onboarding score (0-10) Source size, gzip bytes SO 2025 learning-to-code usage, % Type system

C

2.5

691.65

48

Static, weak, manifest, nominal

COBOL

n/a

n/a

1.4

Weak, static

C++

5.0

749.30

44.6

Static, strong, nominative, partially inferred

C#

10.0

710.88

23.1

Static, dynamic

Fortran

7.5

766.70

2

Strong, static, manifest

Go

10.0

653.15

13.1

Inferred, static, strong

Groovy

5.0

n/a

2

Dynamic, static, strong, duck

Java

7.5

673.62

40.8

Static, strong, safe, nominative, manifest

JavaScript

2.5

632.68

62.8

Dynamic, weak, duck

Kotlin

7.5

n/a

10.8

Inferred, static, strong

MATLAB

n/a

n/a

10.2

dynamic, weak

Objective-C

n/a

n/a

n/a

Static, dynamic, weak

PHP

5.0

510.95

14.5

Dynamic, weak, gradual

Python

10.0

483.39

71.8

Duck, dynamic, strong

R

5.0

n/a

8.5

Dynamic

Ruby

7.5

442.54

3.7

Duck, dynamic, strong

Rust

10.0

1003.60

23.1

n/a

Scala

10.0

n/a

2.4

Inferred, static, strong, structural

Swift

6.7

670.24

3.9

Static, strong, inferred

TypeScript

7.5

n/a

31.9

Duck, gradual, strong, structural

Visual Basic

10.0

n/a

4.6

Static, both strong and weak

Pascal/Delphi

n/a

817.00

1.7

Static and dynamic (dynamic typing through variants, array of const, and RTTI), strong

Perl

5.0

522.80

1.9

Dynamic

Ada

10.0

1375.31

3

Static, strong, safe, nominal

Lisp

n/a

920.18

4.1

Dynamic, strong

Assembly

n/a

n/a

19.4

None

Dart

7.5

624.65

7.8

1.x: Optional; 2.x: Inferred

Julia

7.5

570.74

n/a

Dynamic

Zig

5.0

n/a

4.9

Static, strong, inferred, nominal, generic

Elixir

7.5

n/a

2.5

dynamic, strong, gradual since version 1.20

Lua

5.0

591.65

15

Dynamic, strong, duck

Haskell

10.0

824.78

n/a

Inferred, static, strong

Mojo

7.5

n/a

1.1

n/a

SQL

n/a

n/a

45.4

Static, strong

Bash

n/a

n/a

47

n/a

Learning materials change slowly, but official sites are redesigned from time to time, so the onboarding checks should be repeated when the data is refreshed.

Security and safety

Memory-safety bugs (buffer overflows, use after free) are the largest class of serious vulnerabilities in large C and C++ code bases: Microsoft reported that about 70% of the vulnerabilities it fixes are memory-safety issues (MSRC, 2019-07-18), the Chromium project says about 70% of its serious security bugs are of that kind (Chromium security page), and Google reported that memory-safety issues were 76% of Android vulnerabilities in 2019 and 24% in 2024 (Google Security Blog, 2024-09-25). The CISA roadmaps guidance of December 2023 (CISA) and a CISA alert of 2025-06-24 (CISA alert) recommend moving to memory-safe languages.

Only five languages have a classification that could be read in a retrieved document: Java is memory safe (Wikipedia, Memory safety), Rust is memory safe unless an unsafe construct is used (CISA roadmaps, December 2023), C and C++ are not memory safe (ONCD, February 2024), and Fortran is not memory safe (Wikipedia, Memory safety). All other languages are n/a; this does not mean they are unsafe, only that no retrieved document classifies them. Languages with a garbage collector or managed runtime (Java, C#, Go, Python and others) avoid most memory errors by design, but the data here does not classify them and the page does not guess. No reliable per-language CVE statistics were found, so none are shown.

Table 8. Languages with a recorded memory-safety classification. The other 30 of the 35 languages are n/a: the NSA June 2025 document that would classify them could not be retrieved (HTTP 403), and no classification is inferred.
Language Memory-safety classification Source Edition

C

not memory safe

oncd-2024

Feb 2024

C++

not memory safe

oncd-2024

Feb 2024

Fortran

not memory safe

wikipedia-memory-safety

retrieved 2026-10-26

Java

memory-safe

wikipedia-memory-safety

retrieved 2026-10-26

Rust

memory-safe unless unsafe construct

cisa-roadmaps-2023

Dec 2023

Guidance on memory safety is changing quickly; check the current CISA and NSA publications before deciding for a regulated project.

Versatility and platforms

Versatility describes how many kinds of software a language is used for and where it runs. The data are the paradigms, purposes and platforms as stated in each language’s encyclopedia article (retrieved 2026-10-26). The chart separates general-purpose languages from languages designed for a specific purpose (for example COBOL for business data processing, R for statistics, MATLAB for numerical computing, and SQL for databases). Most general-purpose languages are multi-paradigm, and the editorial groups on the timeline show their typical niche.

Bar chart counting general-purpose and specific-purpose languages, derived from the purposes listed for each language
Figure 15. General-purpose versus specific-purpose languages, counted from the purposes listed for each language. Source: Wikipedia articles, paraphrased, retrieved 2026-10-26.
Table 9. Paradigms, purposes and platforms as listed in the Wikipedia article of each language (Wikipedia and the per-language sources), retrieved 2026-10-26. The platforms text is the infobox entry as listed; n/a where the infobox gives none.
Language Paradigms Purposes Platforms

C

imperative (procedural); structured; multi-paradigm

general-purpose; operating systems; device drivers; protocol stacks

n/a (infobox OS: Cross-platform)

COBOL

procedural; imperative; object-oriented; generic

business data processing; finance; administrative systems; mainframes

n/a

C++

procedural; imperative; functional; object-oriented; generic; modular; reflective; design by contract

general-purpose; systems programming; embedded and resource-constrained software; large systems

Cross-platform (infobox OS)

C#

structured; imperative; object-oriented; event-driven; task-driven; functional; generic; reflective; concurrent

general-purpose

Common Language Infrastructure

Fortran

structured; imperative (procedural, object-oriented); generic; array

numeric computing; scientific computing

n/a

Go

concurrent; imperative; functional; object-oriented

general-purpose; wide range of software development

DragonFly BSD; FreeBSD; Linux; macOS; NetBSD; OpenBSD; Plan 9; Solaris; Windows (infobox OS)

Groovy

object-oriented; imperative; functional; aspect-oriented; scripting

general-purpose; scripting on the Java platform

Java SE

Java

generic; object-oriented (class-based); functional; imperative; reflective; concurrent

general-purpose; write once run anywhere

n/a (JVM-hosted)

JavaScript

event-driven; functional; imperative; procedural; object-oriented

core technology of the Web

n/a

Kotlin

object-oriented; functional; imperative; block structured; generic; reflective; concurrent

general-purpose; cross-platform

Android; JVM; iOS and iPadOS; tvOS and watchOS; macOS; Linux; Windows; JavaScript; WebAssembly (beta); LLVM via Kotlin/Native

MATLAB

functional; imperative; procedural; object-oriented; array

numerical computing; matrix operations; plotting; algorithm implementation; user interfaces

IA-32;x86-64;ARM64

Objective-C

reflective; class-based object-oriented

general-purpose; object-oriented extension of C

Cross-platform (infobox OS)

PHP

imperative; functional; object-oriented; procedural; reflective

web development; general-purpose scripting; command-line scripts

Unix-like; Windows; macOS; IBM i; OpenVMS; IBM Z (infobox OS)

Python

object-oriented; procedural (imperative); functional; structured; reflective

general-purpose; readability

64-bit Linux and macOS;32/64-bit Windows 10 and later (infobox)

R

procedural; object-oriented; functional; reflective; imperative; array

statistical analysis; data visualization; data mining; bioinformatics; data science

arm64;x86-64

Ruby

functional; imperative; object-oriented; reflective

general-purpose; programmer productivity

Cross-platform (infobox OS)

Rust

concurrent; functional; generic; imperative; structured

general-purpose; performance; type safety; concurrency; memory safety

Cross-platform

Scala

concurrent; functional; imperative; object-oriented

general-purpose

JVM; JavaScript (Scala.js); LLVM (Scala Native, experimental)

Swift

protocol-oriented; object-oriented; functional; imperative; block-structured; declarative; concurrent

general-purpose; Apple platforms

Darwin; iOS; iPadOS; macOS; tvOS; visionOS; watchOS; Linux; Windows; FreeBSD; Android; z/OS (infobox OS)

TypeScript

functional; generic; imperative; object-oriented

large applications; static typing for JavaScript

n/a

Visual Basic

structured; imperative; object-oriented; declarative; generic; reflective; event-driven

.NET applications (Visual Basic .NET page)

.NET Framework; Mono;.NET (Windows chief OS; also Android; BSD; iOS; Linux; macOS; Solaris; Unix)

Pascal/Delphi

imperative; structured; object-oriented; functional (Delphi dialect); component-based; event-driven; generic

rapid application development of desktop; mobile; web; console software (Delphi)

Delphi targets Windows; Linux; macOS; Android; iOS (wikipedia-delphi); Object Pascal: ARM; x86; PowerPC; ppc64; SPARC; MIPS; CLI; Java

Perl

multi-paradigm

general-purpose; interpreted; dynamically typed

Cross-platform (infobox OS)

Ada

structured; imperative; object-oriented; aspect-oriented; concurrent; array; distributed; generic; procedural; meta

reliable large-scale software

Multi- or cross-platform (infobox OS)

Lisp

functional; procedural; reflective; meta

artificial intelligence research; practical mathematical notation for programs

n/a

Assembly

imperative; unstructured; metaprogramming through macros

low-level programming for a specific processor architecture

n/a

Dart

functional; imperative; object-oriented; reflective

web apps; mobile apps; server applications; desktop applications

Cross-platform

Julia

multiple dispatch (primary); functional; array; procedural; structured; reflective; meta; multistaged

general-purpose high-level

Tier 1: 32/64-bit Linux; Windows 10 and later; x86-64; IA-32;64-bit macOS Apple silicon; Nvidia GPUs via CUDA on Linux; further tiers 2-3

Zig

imperative (primary); concurrent; procedural; functional

general-purpose; systems programming; performance; simplicity; metaprogramming

x86-64; ARM64; WebAssembly (primary); Tier 2: ARM; IA-32; RISC-V; MIPS64; POWERPC64; SPARC64; OS: Linux; macOS; FreeBSD; Windows

Elixir

functional; concurrent; distributed; process-oriented

general-purpose; distributed fault-tolerant software

Erlang (BEAM virtual machine)

Lua

scripting; imperative (procedural, prototype-based, object-oriented); functional; meta; reflective

embedded use in other applications

Cross-platform (infobox OS)

Haskell

purely functional

general-purpose

Cross-platform (infobox OS)

Mojo

imperative (primary); functional; generic

systems programming

Cross-platform; Linux; macOS

SQL

declarative

managing data in relational database management systems

Cross-platform (infobox OS)

Bash

n/a

interactive command interpreter; shell scripting; automation on Unix-like systems

GNU (infobox platform); OS: Linux; Unix-like; macOS; Windows; Android; Oracle Solaris

The checklist below is what the Versatility axis scores; its caption gives how many pairs are confirmed, ruled out and unverified. Read a low score as "few uses confirmed by the sources read", not as "few uses".

Table 10. Application domains confirmed for each language, used for the Versatility axis: 120 yes, 26 no and 169 n/a of 315 pairs, and 21 of the 35 languages have too few known domains for a score. Every yes cites a source in scripts/language-charts/data/versatility-domains.csv (listed in the Bibliography), retrieved 2026-10-26; n/a means it could not be verified. Score: 10 * yes / 9, a lower bound because n/a counts as not confirmed; n/a with fewer than five known domains.
Language Web front end Back end Mobile Desktop Embedded Systems Data and AI Scientific and HPC Mainframe Score

C

no

yes

yes

yes

yes

yes

n/a

yes

yes

7.8

COBOL

no

yes

no

n/a

no

n/a

n/a

n/a

yes

2.2

C++

no

yes

yes

yes

yes

yes

yes

yes

yes

8.9

C#

yes

yes

yes

yes

yes

n/a

yes

n/a

n/a

6.7

Fortran

no

n/a

n/a

n/a

n/a

n/a

n/a

yes

yes

n/a

Go

n/a

yes

yes

n/a

n/a

n/a

n/a

n/a

yes

n/a

Groovy

n/a

yes

n/a

yes

n/a

n/a

n/a

n/a

n/a

n/a

Java

no

yes

yes

yes

n/a

n/a

n/a

n/a

yes

4.4

JavaScript

yes

yes

yes

yes

yes

no

yes

n/a

yes

7.8

Kotlin

yes

yes

yes

yes

n/a

n/a

yes

n/a

n/a

5.6

MATLAB

n/a

n/a

n/a

yes

yes

no

n/a

yes

n/a

n/a

Objective-C

no

n/a

yes

yes

n/a

n/a

n/a

n/a

n/a

n/a

PHP

no

yes

n/a

yes

n/a

no

n/a

n/a

n/a

n/a

Python

n/a

yes

yes

yes

yes

n/a

yes

yes

yes

7.8

R

n/a

yes

n/a

n/a

n/a

no

yes

yes

n/a

n/a

Ruby

n/a

yes

n/a

n/a

n/a

n/a

n/a

n/a

n/a

n/a

Rust

n/a

yes

yes

yes

yes

yes

n/a

n/a

yes

6.7

Scala

yes

yes

yes

n/a

n/a

n/a

yes

n/a

n/a

n/a

Swift

n/a

yes

yes

yes

yes

yes

yes

n/a

n/a

6.7

TypeScript

yes

yes

yes

yes

n/a

no

n/a

n/a

n/a

4.4

Visual Basic

no

n/a

no

yes

n/a

n/a

n/a

n/a

n/a

n/a

Pascal/Delphi

n/a

n/a

yes

yes

n/a

n/a

n/a

n/a

n/a

n/a

Perl

n/a

yes

n/a

yes

n/a

n/a

n/a

n/a

n/a

n/a

Ada

no

n/a

n/a

n/a

yes

yes

n/a

n/a

n/a

n/a

Lisp

n/a

n/a

n/a

n/a

n/a

yes

yes

n/a

n/a

n/a

Assembly

no

n/a

n/a

n/a

yes

yes

n/a

n/a

yes

n/a

Dart

yes

yes

yes

yes

yes

n/a

n/a

n/a

n/a

5.6

Julia

n/a

yes

n/a

yes

yes

yes

yes

yes

n/a

6.7

Zig

n/a

yes

n/a

yes

yes

yes

n/a

n/a

n/a

n/a

Elixir

n/a

yes

n/a

n/a

yes

n/a

yes

n/a

n/a

n/a

Lua

n/a

yes

n/a

n/a

yes

n/a

n/a

n/a

n/a

n/a

Haskell

n/a

yes

n/a

n/a

n/a

n/a

n/a

n/a

n/a

n/a

Mojo

n/a

n/a

n/a

n/a

n/a

yes

yes

n/a

n/a

n/a

SQL

no

n/a

no

no

n/a

no

n/a

n/a

yes

1.1

Bash

no

n/a

no

no

n/a

no

n/a

n/a

n/a

n/a

The versatility axis of the radar charts does not use these encyclopedia phrases. It scores a checklist of nine application domains (web front end, back end, mobile, desktop, embedded, systems, data and AI, scientific and HPC, mainframe), where each yes is backed by a cited source; the rubric is in How the scores were assigned.

Job market and community

The salary data come from the Stack Overflow 2024 "top paying technologies" chart, because later surveys do not publish salary by language. The highest medians among the compared languages are Elixir (USD 96,000), Perl (90,000), Ruby (90,221), Scala (88,619), Lisp (80,555) and Groovy (79,330); Go (76,433) and Rust (76,292) follow. The lowest are Ada (42,584), Dart (44,576) and PHP (49,586). The widely used languages sit in the middle: Python 67,723, JavaScript 63,694, Java 61,714 and C# 66,066. A high salary for a niche language often reflects few, senior positions rather than a wide market, so combine it with the popularity figures. The JetBrains survey reports that Scala accounts for 38% of the top-paid developers, which is a share, not a salary (JetBrains State of Developer Ecosystem 2025). Job demand by language is not published by the Stack Overflow survey, and the IEEE Spectrum jobs ranking is kept in the data files (IEEE Spectrum) but not charted. Community indicators such as open-source contributors come from GitHub Octoverse 2025.

Table 11. Median annual salary of all respondents who work with the technology, Stack Overflow Developer Survey 2024 "top paying technologies", retrieved 2026-10-26. Languages without a value are not listed.
Language Median salary, USD per year

Elixir

96,000

Ruby

90,221

Perl

90,000

Scala

88,619

Lisp

80,555

Groovy

79,330

Go

76,433

Rust

76,292

Zig

75,332

Bash

75,184

Swift

75,184

Objective-C

73,648

Lua

72,542

Fortran

70,351

COBOL

70,000

Julia

70,000

Haskell

68,337

Python

67,723

C#

66,066

TypeScript

65,907

Kotlin

65,815

SQL

64,919

C++

64,444

Pascal/Delphi

64,444

R

64,444

C

63,694

JavaScript

63,694

Visual Basic

63,694

Java

61,714

Assembly

60,834

MATLAB

53,703

PHP

49,586

Dart

44,576

Ada

42,584

Salary data are annual at best and lag the market by more than a year.

Other metrics

Other properties that matter when choosing a language are whether it has a formal standard, how often it is released, and under which licence its reference implementation is distributed. C (ISO/IEC 9899:2024), C++ (ISO/IEC 14882:2024), COBOL (ISO/IEC 1989:2023), C# (ECMA-334 and ISO/IEC 20619:2023) and JavaScript (ECMA-262, ECMAScript 2026) have formal standards; Python, Rust and Java have no formal standard in a source that was read, which is not a verified absence. Release cadences range from about every six weeks (Rust) to every six months (Java, with an LTS line) to annual (Python, C#). The licence chart counts the licence of each reference implementation as recorded by GitHub; 19 of the 35 languages have none recorded (n/a), mostly languages with several implementations or a custom licence.

Bar chart counting the languages by the licence of their reference implementation, with 19 languages having no licence recorded
Figure 16. Licence of each reference implementation, counted from the language data; 19 have none recorded (n/a). Source: GitHub repository metadata, 2026-10-26.
Table 12. Standardisation (Wikipedia and Ecma International), release cadence (derived from endoflife.date release dates) and licence (GitHub repository metadata), 2026-10-26. n/a means not found in a source that was read; absence of a standard is not verified.
Language Standard Release cadence Licence of the reference implementation

C

ISO/IEC 9899:2024 (C23), ISO/IEC JTC 1/SC 22/WG 14

n/a

n/a

COBOL

ISO/IEC 1989:2023

n/a

n/a

C++

ISO/IEC 14882:2024 (C++23); C++26 not yet published

n/a

n/a

C#

ECMA-334 7th edition (Dec 2023) = ISO/IEC 20619:2023; earlier editions ISO/IEC 23270

annual with .NET (10 2025-11-11; 9 2024-11-12; 8 2023-11-14)

MIT (Roslyn compiler)

Fortran

ISO/IEC 1539-1:2023 (Fortran 2023)

n/a

n/a

Go

n/a

every 6 months (1.27 2026-08-19; 1.26 2026-02-10; 1.25 2025-08-12)

BSD-3-Clause

Groovy

n/a

irregular (6.0 2026-09-19; 5.1 2026-08-15; 5.0 2025-08-21; 4.0 2022-01-25)

Apache-2.0

Java

n/a

every 6 months, March and September (27 2026-09-15; 26 2026-03-17; 25 2025-09-16)

GPL-2.0 (GitHub SPDX for OpenJDK jdk repo)

JavaScript

ECMA-262 17th edition (ECMAScript 2026), June 2026

Node.js majors about every 6 months (26: 2026-05-05; 25: 2025-10-15; 24: 2025-05-06); ECMAScript edition annual

n/a

Kotlin

n/a

about every 6 months (2.4 2026-06-03; 2.3 2025-12-16; 2.2 2025-06-23)

n/a

MATLAB

n/a

n/a

n/a

Objective-C

n/a

n/a

n/a

PHP

n/a

annual (8.5 2025-11-20; 8.4 2024-11-21; 8.3 2023-11-23)

BSD-3-Clause

Python

n/a

annual (3.15 2026-10-09; 3.14 2025-10-07; 3.13 2024-10-07)

n/a

R

n/a

n/a

GPL-2.0 (GitHub SPDX)

Ruby

ISO/IEC 30170:2012; JIS X 3017:2011

annual, Dec 25 (4.0 2025-12-25; 3.4 2024-12-24; 3.3 2023-12-25)

Ruby License and BSD-2-Clause (CRuby since 1.9.3)

Rust

n/a

about every 6 weeks (1.99 2026-10-01; 1.98 2026-08-20; 1.97 2026-07-09)

Apache-2.0 (GitHub SPDX; project is dual-licensed MIT/Apache per its repo, not verified here)

Scala

n/a

irregular, several 3.x minors per year (3.10 2026-10-12; 3.9 2026-09-03; 3.8 2026-01-22; 3.7 2025-05-07)

Apache-2.0

Swift

n/a

n/a

Apache-2.0

TypeScript

n/a

n/a

Apache-2.0

Visual Basic

n/a

ships with .NET annual releases (10 2025-11-11); VB language-specific cadence not found

MIT (dotnet/runtime)

Pascal/Delphi

ISO 7185:1990 (Pascal); ISO/IEC 10206:1990 (Extended Pascal)

n/a

n/a

Perl

n/a

annual (5.44 2026-07-15; 5.42 2025-07-03; 5.40 2024-06-09)

n/a

Ada

ISO/IEC 8652:2023 (Ada 2022)

n/a

n/a

Lisp

ANSI INCITS 226-1994 (formerly X3.226), ANSI X3J13; reaffirmed S2018

n/a

n/a

Assembly

n/a

n/a

n/a

Dart

ECMA-408 (editions approved 2014-2015, Ecma TC52)

n/a

BSD-3-Clause

Julia

n/a

about annual minors (1.13 2026-09-10; 1.12 2025-10-08; 1.11 2024-10-07)

MIT

Zig

n/a

about every 6 months (0.17.0 2026-10-01; 0.16.0 2026-04-13; 0.15.2 2025-10-11)

MIT

Elixir

n/a

about every 6 months (1.20 2026-06-03; 1.19 2025-10-16; 1.18 2024-12-19)

Apache-2.0

Lua

n/a

irregular (5.5 2025-12-22; 5.4 2020-06-29; 5.3 2015-01-12)

n/a

Haskell

n/a

GHC about annual, roughly 1-2 majors/yr (9.14 2025-12-19; 9.12 2024-11-15; 9.10 2024-05-10)

n/a

Mojo

n/a

n/a

n/a

SQL

ISO/IEC 9075:2023 (SQL:2023)

n/a

n/a

Bash

n/a

n/a

n/a

Standards and licences change rarely, but the releases listed are as of the snapshot date.

Radar comparisons

Radar charts show nine axes on a 0 to 10 scale (popularity, ecosystem, performance, memory, energy, learning ease, safety, versatility and job market), computed from the sourced data with the rubric in How the scores were assigned. A language appears in each group where it fits (for example Python is both a scripting and a scientific language, and C both C family and systems). A gap in an outline means the score is n/a, not zero. Read them as a profile of strengths, not as a single winning score: the axes are not weighted and a missing axis makes a language look smaller than it is.

JVM languages (Java, Kotlin, Scala, Groovy) share the Maven Central ecosystem, so they differ mostly in popularity, safety data and learning. Java is the only one with benchmark and safety data.

Radar chart on nine 0 to 10 axes comparing Java, Kotlin, Scala and Groovy
Figure 17. Radar comparison of the JVM languages. Scores computed from the sourced data, snapshot 2026-10-26; sources in the Bibliography.

C family (C, C++, C#, Objective-C): C and C++ lead on performance, memory and energy but score low on safety; C# trades some speed for a verified registry count (NuGet), which C and C++ lack, so only C# has an Ecosystem value.

Radar chart on nine 0 to 10 axes comparing C, C++, C#, and Objective-C
Figure 18. Radar comparison of the C family. Scores computed from the sourced data, snapshot 2026-10-26; sources in the Bibliography.

Scripting languages (Python, JavaScript, TypeScript, Ruby, PHP, Perl, Lua, Bash): Python and JavaScript lead on popularity and ecosystem; Python and Ruby on ease of learning; and all of them score low on performance and energy, with JavaScript the best of the group.

Radar chart on nine 0 to 10 axes comparing Python, JavaScript, TypeScript, Ruby, PHP, Perl, Lua, and Bash
Figure 19. Radar comparison of the scripting languages. Scores computed from the sourced data, snapshot 2026-10-26; sources in the Bibliography.

Scientific languages (Python, R, MATLAB, Julia, Fortran): Fortran and Julia are the fastest on CPU; Python wins on popularity and ease; R and MATLAB have few benchmark inputs, so their outlines have gaps.

Radar chart on nine 0 to 10 axes comparing Python, R, MATLAB, Julia, and Fortran
Figure 20. Radar comparison of the scientific languages. Scores computed from the sourced data, snapshot 2026-10-26; sources in the Bibliography.

Systems languages (C, C++, Rust, Go, Zig, Ada): C, C++ and Rust are close on performance and energy; Rust adds a memory-safety classification and a verified registry count (361,763 crates), which C and C++ lack. Zig has little data and its outline is mostly gaps.

Radar chart on nine 0 to 10 axes comparing C, C++, Rust, Go, Zig, and Ada
Figure 21. Radar comparison of the systems languages. Scores computed from the sourced data, snapshot 2026-10-26; sources in the Bibliography.

Legacy languages (COBOL, Fortran, Pascal/Delphi, Visual Basic, Lisp, Assembly): these score low on popularity and have the most gaps. COBOL has data only for popularity, versatility and job market. Fortran is grouped here by age (1957); modern Fortran still scores high on performance and energy, which is why the recommendations keep it for scientific and HPC work.

Radar chart on nine 0 to 10 axes comparing COBOL, Fortran, Pascal/Delphi, Visual Basic, Lisp, and Assembly
Figure 22. Radar comparison of the legacy languages. Scores computed from the sourced data, snapshot 2026-10-26; sources in the Bibliography.

The scores behind every radar chart are listed below, so no outline has to be read by eye.

Table 13. Radar scores (0-10), computed from the sourced CSV values with the rubric in How the scores were assigned, snapshot 2026-10-26. Higher is better on every axis. n/a means the input is missing.
Language Popularity Ecosystem Performance Memory Energy Learning (ease) Safety Versatility Job market

C

6.1

n/a

10.0

8.0

10.0

4.3

2.0

7.8

4.0

COBOL

1.4

n/a

n/a

n/a

n/a

n/a

n/a

2.2

5.1

C++

6.0

n/a

9.7

7.6

9.3

5.2

2.0

8.9

4.1

C#

5.3

7.3

8.8

4.0

7.4

7.9

n/a

6.7

4.4

Fortran

1.8

n/a

8.1

6.7

7.9

6.3

2.0

n/a

5.2

Go

3.2

n/a

7.1

7.4

7.3

8.3

n/a

n/a

6.3

Groovy

0.5

7.6

n/a

n/a

n/a

n/a

n/a

n/a

6.9

Java

6.2

7.6

7.0

2.8

8.4

6.9

10.0

4.4

3.6

JavaScript

7.7

10.0

5.8

2.5

6.6

4.7

n/a

7.8

4.0

Kotlin

1.5

7.6

n/a

n/a

n/a

n/a

n/a

5.6

4.3

MATLAB

1.6

n/a

n/a

n/a

n/a

n/a

n/a

n/a

2.1

Objective-C

1.1

n/a

n/a

n/a

n/a

n/a

n/a

n/a

5.8

PHP

3.2

7.2

1.6

4.6

2.3

6.9

n/a

n/a

1.3

Python

9.7

8.0

0.1

4.9

0.1

9.6

n/a

7.8

4.7

R

2.7

3.6

n/a

n/a

n/a

n/a

n/a

n/a

4.1

Ruby

1.2

6.1

0.6

4.6

0.3

8.8

n/a

n/a

8.9

Rust

3.4

6.9

9.5

7.1

9.9

6.4

8.0

6.7

6.3

Scala

0.5

7.6

n/a

n/a

n/a

n/a

n/a

n/a

8.6

Swift

2.0

2.7

7.1

5.2

7.7

6.5

n/a

6.7

6.1

TypeScript

4.0

10.0

n/a

n/a

3.0

n/a

n/a

4.4

4.4

Visual Basic

2.7

7.3

n/a

n/a

n/a

n/a

n/a

n/a

4.0

Pascal/Delphi

1.4

n/a

6.7

10.0

8.3

n/a

n/a

n/a

4.1

Perl

1.6

4.5

0.0

4.7

0.0

6.8

n/a

n/a

8.9

Ada

1.4

n/a

7.4

6.4

8.8

5.0

n/a

n/a

0.0

Lisp

0.7

n/a

6.9

3.7

8.1

n/a

n/a

n/a

7.1

Assembly

1.8

n/a

n/a

n/a

n/a

n/a

n/a

n/a

3.4

Dart

1.3

5.2

6.1

0.9

6.9

7.2

n/a

5.6

0.4

Julia

1.5

2.9

8.4

0.0

n/a

7.6

n/a

6.7

5.1

Zig

0.2

n/a

n/a

n/a

n/a

n/a

n/a

n/a

6.1

Elixir

0.3

3.5

n/a

n/a

n/a

n/a

n/a

n/a

10.0

Lua

1.3

2.0

0.8

7.0

1.3

6.2

n/a

n/a

5.6

Haskell

0.4

3.3

7.0

5.0

7.4

7.3

n/a

n/a

4.8

Mojo

0.0

n/a

n/a

n/a

n/a

n/a

n/a

n/a

n/a

SQL

7.0

n/a

n/a

n/a

n/a

n/a

n/a

1.1

4.2

Bash

8.3

n/a

n/a

n/a

n/a

n/a

n/a

n/a

6.1

Summary and recommendations

These recommendations are an editorial judgement built on the data above; they are not part of the sourced data. Every one cites the metric it relies on, and every metric has a snapshot date of 2026-10-26. The data change fast: popularity indices move every month, registry counts every day, and the energy study is from 2021. Re-check the numbers before a decision that will last years.

Avoid for new projects.

  • COBOL ranks 16th in TIOBE with 0.89%, has a PYPL share of 0.04%, 1.1% usage in the Stack Overflow survey 2026 and no verified registry (Popularity, Ecosystem). Keep it where it already runs (its median salary is USD 70,000), but do not start a new system in it.

  • Visual Basic has fallen from 8.66% of PYPL in 2004 to 0.10% and has 4% usage in the 2026 survey (Popularity). Existing .NET applications can continue; new ones fit C# better, on the same NuGet ecosystem (528,060 package IDs).

Use with care.

  • PHP still has 17.7% survey usage and a large registry (470,008 package names), but its PYPL share fell from 19.71% to 1.74%, it is 40.68 times the fastest CPU time with 29.30 times the energy of C, and its median salary (USD 49,586) is the third lowest in the dataset, above only Ada and Dart. It is a reasonable choice for maintaining an existing site; weigh it against alternatives for a new one.

Safe mainstream choices.

  • JavaScript and TypeScript lead survey usage (62% and 43.8%) and share the largest registry (npm, 4,532,034 packages); TypeScript has the highest admired score of the two (53%). They are the default for the web.

  • Python is first in TIOBE (19.23%) and PYPL (53.9%), has 923,102 PyPI projects and the highest learning-to-code usage (71.8%). Its cost is performance: 74.18 times the fastest CPU time and 75.88 times the energy of C, which is why it is paired with compiled libraries.

  • Java (8.41% TIOBE, 661,801 Maven Central artifacts) is classified as memory safe and has a six-month release cadence with LTS releases. C# (3.79% TIOBE, 528,060 NuGet package IDs) is 1.93 times the fastest CPU time, the best of the managed languages here.

Trends.

  • Python for AI and machine learning. The dataset does not measure domains, so this is editorial: Python’s TIOBE rating grew from 3.90% in 2016 to 19.23% and its ecosystem is the second largest of the registries compared. Treat the domain claim as a hypothesis the data are consistent with, not a result.

  • Rust for safety and performance. Rust has the highest admired score (67.4%), CPU time 1.45 times the fastest and energy 1.03 times that of C, a memory-safe-unless-unsafe classification, 361,763 crates and growth in TIOBE from 0.26% (2016) to 1.44%.

Recommendation by purpose.

Table 14. Recommendations by purpose, snapshot 2026-10-26. These are editorial; the evidence is in the cited sections and sources.
Purpose Recommended Why (metrics used)

Web front end

TypeScript (or JavaScript)

JavaScript has the highest survey usage of the compared languages (62%), TypeScript 43.8%; npm has 4,532,034 packages. Popularity indices and the survey are the evidence. To choose the framework, see the Web Frameworks Comparison.

Back end

Java or Kotlin, C#, Go, Python

Large registries (Maven Central 661,801, NuGet 528,060, PyPI 923,102), CPU times of 1.93 (C#), 4.04 (Go) and 4.16 (Java) times the fastest, Java classified as memory safe, Go with full onboarding score (10). Choose by team skills and the existing platform. To choose the framework, see the Backend Frameworks Comparison.

Mobile

Kotlin for Android, Swift for iOS

Kotlin shares the Maven Central ecosystem (661,801 artifacts) and Swift has CPU time 3.94 times the fastest; the data do not rank mobile frameworks, so this follows each platform’s main language. Swift has a much smaller registry (12,380 packages).

Desktop

C# on Windows, Java or C++ for cross-platform and performance-critical apps

NuGet and Maven Central registries; C++ is 1.35 times the fastest CPU time but not memory safe.

Systems and embedded

Rust for new code, C and C++ where the toolchain requires them

CPU 1.19 ©, 1.35 (C++), 1.45 (Rust) times the fastest; energy 1.00, 1.34 and 1.03 times that of C; only Rust is classified memory safe unless unsafe, C and C++ are not (Performance, Security and safety).

Data science and AI/ML

Python; R for statistics

Python: first in TIOBE and PYPL, 923,102 PyPI projects. R: 25,529 CRAN packages and a specific-purpose design. The domain use is editorial (see Trends).

Scientific and HPC

Fortran, C++, Julia, with Python as the driver

CPU times of 2.64 (Fortran), 1.35 (C++) and 2.28 (Julia) times the fastest; Julia uses 123.98 times the lowest memory, so check memory use (Performance, Radar comparisons).

Scripting and automation

Python, Bash for shell tasks

Python has short sources (483.39 gzip bytes, second only to Ruby) and an onboarding score of 10; Bash has 51.3% survey usage but no benchmark or registry data.

Legacy maintenance

COBOL, Visual Basic, fixed-form FORTRAN 77 code, Objective-C, PHP

These keep working code alive; legacy FORTRAN 77 is listed here, while modern Fortran (2008 and later) stays a recommended choice for scientific and HPC work (see that row); the evidence is their low and falling popularity (Popularity) and in COBOL a median salary of USD 70,000, so plan for scarce skills and a migration path rather than expansion.

The strongest conclusion is the least surprising one: for most teams the right language is the one the team and the platform already support, and the metrics above matter mainly at the edges (energy-sensitive or safety-critical work, ecosystem gaps, hiring). Refresh the data from the sources in the Bibliography before relying on a number older than a year.

Bibliography

Every number on this page comes from one of the sources below. Each entry gives the publisher, the edition or the retrieval date, the metrics it feeds (the column "Used for" quotes the data columns of the CSV files under scripts/language-charts/data) and the sections whose charts and tables use it. All sources were read on 2026-10-26 unless an edition says otherwise. Captions and tables elsewhere on this page link to the anchors here.

The registry of sources is sources.csv, with 205 entries.

Popularity indices and surveys

Source Publisher Edition or retrieved Used for Sections and charts

TIOBE Index

TIOBE BV

October 2026; retrieved 2026-10-26

Monthly rating and rank (popularity-current.csv)

Popularity, Radar comparisons

PYPL PopularitY of Programming Language index

Pierre Carbonnelle

October 2026; retrieved 2026-10-26 (All.js latest row)

Monthly search-share (popularity-current.csv)

Popularity, Radar comparisons

The Top Programming Languages 2025 (Spectrum, Jobs, Trending rankings)

IEEE Spectrum

2025 edition published 2025-09-23; data from embedded Flourish visualisation 24825595; retrieved 2026-10-26

Ranking scores (popularity-current.csv)

Popularity, Radar comparisons

The RedMonk Programming Language Rankings: January 2026

RedMonk (Stephen OGrady)

January 2026 edition published 2026-04-14; retrieved 2026-10-26

Top 20 rank (popularity-current.csv)

Popularity, Radar comparisons

Stack Overflow Developer Survey 2026 - Technology

Stack Overflow (Stack Exchange Inc.)

2026 (v2026.1); retrieved 2026-10-26

so-usage, so-admired, so-desired (popularity-current.csv); n/a rows in learning-so.csv and jobs.csv

Popularity, Radar comparisons

Stack Overflow Developer Survey 2025 - Technology (Learning to Code segment)

Stack Overflow (Stack Exchange Inc.)

2025; retrieved 2026-10-26

Learning-to-code language usage (learning-so.csv)

Learning curve and ease of use, Performance, Radar comparisons

Stack Overflow Developer Survey 2024 - Top paying technologies

Stack Overflow (Stack Exchange Inc.)

2024; retrieved 2026-10-26

Median salary by language (jobs.csv)

Job market and community

Octoverse: A new developer joins GitHub every second as AI leads TypeScript to #1

GitHub

Octoverse 2025, published 2025-10-28; retrieved 2026-10-26

Top languages by contributors (popularity-current.csv)

Job market and community

The State of Developer Ecosystem 2025 (JetBrains Research blog)

JetBrains

2025 (survey Apr-Jun 2025); retrieved 2026-10-26

Languages to adopt next, Scala primary-language and top-paid shares (popularity-current.csv, jobs.csv)

Job market and community

Package registries and release data

Source Publisher Edition or retrieved Used for Sections and charts

npm registry replica and package metadata (2)

npm, Inc.

2026-10-26

npm package count; TypeScript latest

Ecosystem, Radar comparisons

PyPI Simple Index (PEP 691 JSON)

Python Software Foundation

2026-10-26

PyPI project count

Ecosystem, Radar comparisons

Maven Central search API

Sonatype

2026-10-26

Maven Central artifact count

Ecosystem, Radar comparisons

NuGet search API

.NET Foundation / Microsoft

2026-10-26

NuGet package ID count

Ecosystem, Radar comparisons

crates.io API

Rust Foundation / crates.io team

2026-10-26

crates.io count

Ecosystem, Radar comparisons

Packagist package list

Packagist

2026-10-26

Packagist package names

Ecosystem, Radar comparisons

RubyGems.org stats page

Ruby Central

2026-10-26

RubyGems gem count

Ecosystem, Radar comparisons

CRAN contributed packages page (2)

R Foundation / CRAN

2026-10-26

CRAN count; R latest

Ecosystem, Radar comparisons

pub.dev package-names API

Dart team

2026-10-26

pub.dev count

Ecosystem, Radar comparisons

Hex.pm API

Hex.pm

2026-10-26

Hex count by paging

Ecosystem, Radar comparisons

Hackage package index

Haskell.org

2026-10-26

Hackage count

Ecosystem, Radar comparisons

LuaRocks stats

LuaRocks

2026-10-26

LuaRocks counts and yearly history

Ecosystem, Radar comparisons

Julia General registry

JuliaRegistries

2026-10-26

Julia package count

Ecosystem, Radar comparisons

Swift Package Index

SPI Operations Ltd

2026-10-26

Swift package count

Ecosystem, Radar comparisons

MetaCPAN API

MetaCPAN

2026-10-26

CPAN distribution count

Ecosystem, Radar comparisons

endoflife.date API

endoflife.date

2026-10-26

versions, release dates, EOL, cadence

Other metrics

GitHub REST API (repos, releases)

GitHub

2026-10-26

licence, last push, releases

Other metrics

Dart SDK stable VERSION file

Google

2026-10-26

Dart latest

Ecosystem, Radar comparisons

Zig download index

Zig Software Foundation

2026-10-26

Zig latest and cadence

Ecosystem, Radar comparisons

Free Pascal download page

Free Pascal team

2026-10-26

Free Pascal latest

Ecosystem, Radar comparisons

Wikipedia language articles (C, C++, COBOL, Fortran, Ada, SQL, Common Lisp, Ruby, Pascal, Dart, Objective-C) (2) (3) (4)

Wikimedia Foundation

2026-10-26

standardisation_body (secondary; ISO catalogue returned 403)

Other metrics

Ecma International standard pages (2)

Ecma International

2026-10-26

C# and ECMAScript standards

Other metrics

Docs repo pages programming-languages/<lang>/ides-and-tools.adoc

Irurueta Docs

2026-10-26

ide_docs_xref

Other metrics

modulecounts.com (attempted, unreachable)

modulecounts.com

2026-10-26

history attempt only; TLS cert mismatch

Ecosystem, Radar comparisons

Performance, energy and language documentation

Source Publisher Edition or retrieved Used for Sections and charts

The Computer Language Benchmarks Game (fastest-programs pages and box-plot summary)

Isaac Gouy / Benchmarks Game team

25.03; measured 05 Mar 2025 u64q; retrieved 2026-10-26

cpu_time_vs_fastest; memory_vs_fastest; code_size_loc

Performance, Radar comparisons

TechEmpower Framework Benchmarks Round 23 results (ph.json)

TechEmpower

Round 23; run 2025-01-30; retrieved 2026-10-26

techempower_json_rps; techempower_plaintext_rps

Performance, Radar comparisons

Energy efficiency across programming languages: how do energy, time, and memory relate? (SLE 2017)

Pereira et al.; ACM SIGPLAN SLE 2017

SLE 2017 Table 4; retrieved 2026-10-26

energy.csv cross-check (identical Table 4 values)

Performance, Radar comparisons

Ranking programming languages by energy efficiency (Science of Computer Programming)

Pereira et al.; Elsevier

Preprint dated 2021-03-23; Tables 4 and 6; retrieved 2026-10-26

energy.csv

Performance, Radar comparisons

GNU C Library manual: Freeing Memory Allocated with malloc

GNU Project

retrieved 2026-10-26

c memory_management

Performance

C++ FAQ: Destructors

Standard C++ Foundation

retrieved 2026-10-26

cpp memory_management

Performance

Managed execution process

Microsoft Learn

retrieved 2026-10-26

csharp; visual-basic execution_model

Performance

Fundamentals of garbage collection

Microsoft Learn

retrieved 2026-10-26

csharp; visual-basic memory_management

Performance

Java Virtual Machine Specification SE 21, Chapter 1

Oracle

SE 21; retrieved 2026-10-26

java execution_model

Performance

Java Virtual Machine Specification SE 21, Chapter 2

Oracle

SE 21; retrieved 2026-10-26

java memory_management

Performance

Kotlin FAQ

JetBrains

retrieved 2026-10-26

kotlin execution_model

Performance

Kotlin/Native memory management

JetBrains

retrieved 2026-10-26

kotlin memory_management

Performance

Scala home page

Scala Center / EPFL

retrieved 2026-10-26

scala execution_model

Performance, Radar comparisons

Python glossary (bytecode, garbage collection)

Python Software Foundation

retrieved 2026-10-26

python execution_model; memory_management

Performance

JavaScript

MDN Web Docs

retrieved 2026-10-26

javascript execution_model

Performance

Memory management

MDN Web Docs

retrieved 2026-10-26

javascript memory_management

Performance

TypeScript for the New Programmer

Microsoft

retrieved 2026-10-26

typescript execution_model

Performance

RubyVM::InstructionSequence

Ruby core team

master; retrieved 2026-10-26

ruby execution_model

Performance

GC module

Ruby core team

master; retrieved 2026-10-26

ruby memory_management

Performance

OPcache introduction

The PHP Group

retrieved 2026-10-26

php execution_model

Performance

Reference counting basics

The PHP Group

retrieved 2026-10-26

php memory_management

Performance

Go FAQ

The Go Authors

retrieved 2026-10-26

go execution_model

Performance

A Guide to the Go Garbage Collector

The Go Authors

Go 1.19 described; retrieved 2026-10-26

go memory_management

Performance

The Rust Programming Language: Hello, World!

Rust Project

retrieved 2026-10-26

rust execution_model

Performance

The Rust Programming Language: What Is Ownership?

Rust Project

retrieved 2026-10-26

rust memory_management

Performance

The Swift Programming Language: Automatic Reference Counting (source in swiftlang/swift-book)

Apple / Swift project

retrieved 2026-10-26

swift memory_management

Performance

Objective-C Runtime Programming Guide: Introduction

Apple

archive; retrieved 2026-10-26

objective-c execution_model

Performance

Advanced Memory Management Programming Guide

Apple

archive; retrieved 2026-10-26

objective-c memory_management

Performance

Dart overview

Google / dart.dev

retrieved 2026-10-26

dart execution_model; memory_management

Performance, Radar comparisons

Garbage Collection in Julia

Julia project

v1; retrieved 2026-10-26

julia memory_management

Performance

Zig language overview

Zig Software Foundation

retrieved 2026-10-26

zig memory_management

Performance, Radar comparisons

Elixir home page

Elixir team

retrieved 2026-10-26

elixir execution_model

Performance, Radar comparisons

Erlang Garbage Collector

Ericsson / Erlang/OTP

retrieved 2026-10-26

elixir memory_management

Performance

Lua 5.4 Reference Manual

PUC-Rio

5.4; retrieved 2026-10-26

lua execution_model; memory_management

Performance

GHC User's Guide: Introduction

GHC team

latest; retrieved 2026-10-26

haskell execution_model

Performance

GHC User's Guide: Runtime control (GC options)

GHC team

latest; retrieved 2026-10-26

haskell memory_management

Performance

Mojo FAQ

Modular

retrieved 2026-10-26

mojo execution_model

Performance, Radar comparisons

Mojo manual

Modular

retrieved 2026-10-26

mojo memory_management

Performance

PostgreSQL docs: Planner/Optimizer

PostgreSQL Global Development Group

current; retrieved 2026-10-26

sql execution_model

Performance

Bash Reference Manual: What is Bash?

GNU Project

retrieved 2026-10-26

bash execution_model

Performance

GnuCOBOL home page

GnuCOBOL project

retrieved 2026-10-26

cobol execution_model

Performance

Fortran Programming Language home

Fortran-lang community

retrieved 2026-10-26

fortran execution_model

Performance

Memory Allocation (MATLAB documentation)

MathWorks

retrieved 2026-10-26

matlab memory_management

Performance

R FAQ

R Core Team

retrieved 2026-10-26

r execution_model

Performance

R Internals

R Core Team

r-release; retrieved 2026-10-26

r memory_management

Performance

Free Pascal home page

Free Pascal team

retrieved 2026-10-26

pascal-delphi execution_model

Performance

perlrun

Perl 5 Porters

retrieved 2026-10-26

perl execution_model

Performance

perlguts

Perl 5 Porters

retrieved 2026-10-26

perl memory_management

Performance

Ada Reference Manual 13.11 Storage Management

Ada Resource Association

Ada 2022 RM; retrieved 2026-10-26

ada memory_management

Performance

SBCL User Manual

SBCL project

retrieved 2026-10-26

lisp execution_model; memory_management

Performance

NASM manual: What is NASM?

NASM project

2.16.03; retrieved 2026-10-26

assembly execution_model

Performance

Security and memory safety

Source Publisher Edition or retrieved Used for Sections and charts

The Case for Memory Safe Roadmaps

CISA/NSA et al.

Dec 2023

memory_safety C C++ Rust; guidance

Security and safety, Radar comparisons

Back to the Building Blocks: A Path Toward Secure and Measurable Software

White House ONCD

Feb 2024

memory_safety C C++ Rust

Security and safety, Radar comparisons

Memory safety

Wikipedia

retrieved 2026-10-26

memory_safety Java Fortran

Security and safety, Radar comparisons

We need a safer systems programming language

Microsoft MSRC

2019-07-18

~70% CVEs

Security and safety, Radar comparisons

Memory safety

The Chromium Projects

retrieved 2026-10-26

~70% serious bugs

Security and safety, Radar comparisons

Eliminating Memory Safety Vulnerabilities at the Source

Google Security Blog

2024-09-25

Android 76% to 24%

Security and safety, Radar comparisons

New Guidance Released for Reducing Memory-Related Vulnerabilities

CISA

2025-06-24

guidance

Security and safety, Radar comparisons

Memory Safe Languages: Reducing Vulnerabilities in Modern Software Development

NSA/CISA

2025-06-24

unreachable (403); n/a row

Security and safety, Radar comparisons

Official sites checked for the onboarding score

Source Publisher Edition or retrieved Used for Sections and charts

Official C site checked for onboarding rubric

C official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official COBOL site checked for onboarding rubric

COBOL official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official C++ site checked for onboarding rubric

C++ official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official C# site checked for onboarding rubric

C# official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official Fortran site checked for onboarding rubric

Fortran official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official Go site checked for onboarding rubric

Go official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official Groovy site checked for onboarding rubric

Groovy official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official Java site checked for onboarding rubric

Java official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official JavaScript site checked for onboarding rubric

JavaScript official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official Kotlin site checked for onboarding rubric

Kotlin official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official MATLAB site checked for onboarding rubric

MATLAB official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official Objective-C site checked for onboarding rubric

Objective-C official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official PHP site checked for onboarding rubric

PHP official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official Python site checked for onboarding rubric

Python official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official R site checked for onboarding rubric

R official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official Ruby site checked for onboarding rubric

Ruby official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official Rust site checked for onboarding rubric

Rust official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official Scala site checked for onboarding rubric

Scala official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official Swift site checked for onboarding rubric

Swift official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official TypeScript site checked for onboarding rubric

TypeScript official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official Visual Basic site checked for onboarding rubric

Visual Basic official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official Pascal/Delphi site checked for onboarding rubric

Pascal/Delphi official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official Perl site checked for onboarding rubric

Perl official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official Ada site checked for onboarding rubric

Ada official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official Common Lisp site checked for onboarding rubric

Common Lisp official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official Assembly site checked for onboarding rubric

Assembly official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official Dart site checked for onboarding rubric

Dart official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official Julia site checked for onboarding rubric

Julia official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official Zig site checked for onboarding rubric

Zig official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official Elixir site checked for onboarding rubric

Elixir official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official Lua site checked for onboarding rubric

Lua official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official Haskell site checked for onboarding rubric

Haskell official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official Mojo site checked for onboarding rubric

Mojo official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official SQL site checked for onboarding rubric

SQL official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Official Bash site checked for onboarding rubric

Bash official steward

retrieved 2026-10-26

learning.csv onboarding score

Learning curve and ease of use, Performance, Radar comparisons

Wikipedia articles used for paradigms, purposes, platforms, type systems and dates

Source Publisher Edition or retrieved Used for Sections and charts

Wikipedia: C (programming language)

Wikipedia

retrieved 2026-10-26

versatility c

Overview and timeline, Versatility and platforms

Wikipedia: COBOL

Wikipedia

retrieved 2026-10-26

versatility cobol

Overview and timeline, Versatility and platforms

Wikipedia: C%2B%2B

Wikipedia

retrieved 2026-10-26

versatility cpp

Overview and timeline, Versatility and platforms

Wikipedia: C Sharp (programming language)

Wikipedia

retrieved 2026-10-26

versatility csharp

Overview and timeline, Versatility and platforms

Wikipedia: Fortran

Wikipedia

retrieved 2026-10-26

versatility fortran

Overview and timeline, Versatility and platforms

Wikipedia: Go (programming language)

Wikipedia

retrieved 2026-10-26

versatility go

Overview and timeline, Versatility and platforms

Wikipedia: Apache Groovy

Wikipedia

retrieved 2026-10-26

versatility groovy

Overview and timeline, Versatility and platforms

Wikipedia: Java (programming language)

Wikipedia

retrieved 2026-10-26

versatility java

Overview and timeline, Versatility and platforms

Wikipedia: JavaScript

Wikipedia

retrieved 2026-10-26

versatility javascript

Overview and timeline, Versatility and platforms

Wikipedia: Kotlin (programming language)

Wikipedia

retrieved 2026-10-26

versatility kotlin

Overview and timeline, Versatility and platforms

Wikipedia: MATLAB

Wikipedia

retrieved 2026-10-26

versatility matlab

Overview and timeline, Versatility and platforms

Wikipedia: Objective-C

Wikipedia

retrieved 2026-10-26

versatility objective-c

Overview and timeline, Versatility and platforms

Wikipedia: PHP

Wikipedia

retrieved 2026-10-26

versatility php

Overview and timeline, Versatility and platforms

Wikipedia: Python (programming language)

Wikipedia

retrieved 2026-10-26

versatility python

Overview and timeline, Versatility and platforms

Wikipedia: R (programming language)

Wikipedia

retrieved 2026-10-26

versatility r

Overview and timeline, Versatility and platforms

Wikipedia: Ruby (programming language)

Wikipedia

retrieved 2026-10-26

versatility ruby

Overview and timeline, Versatility and platforms

Wikipedia: Rust (programming language)

Wikipedia

retrieved 2026-10-26

versatility rust

Overview and timeline, Versatility and platforms

Wikipedia: Scala (programming language)

Wikipedia

retrieved 2026-10-26

versatility scala

Overview and timeline, Versatility and platforms

Wikipedia: Swift (programming language)

Wikipedia

retrieved 2026-10-26

versatility swift

Overview and timeline, Versatility and platforms

Wikipedia: TypeScript

Wikipedia

retrieved 2026-10-26

versatility typescript

Overview and timeline, Versatility and platforms

Wikipedia: Visual Basic (.NET)

Wikipedia

retrieved 2026-10-26

versatility visual-basic

Overview and timeline, Versatility and platforms

Wikipedia: Perl

Wikipedia

retrieved 2026-10-26

versatility perl

Overview and timeline, Versatility and platforms

Wikipedia: Ada (programming language)

Wikipedia

retrieved 2026-10-26

versatility ada

Overview and timeline, Versatility and platforms

Wikipedia: Lisp (programming language)

Wikipedia

retrieved 2026-10-26

versatility lisp

Overview and timeline, Versatility and platforms

Wikipedia: Assembly language

Wikipedia

retrieved 2026-10-26

versatility assembly

Overview and timeline, Versatility and platforms

Wikipedia: Dart (programming language)

Wikipedia

retrieved 2026-10-26

versatility dart

Overview and timeline, Versatility and platforms

Wikipedia: Julia (programming language)

Wikipedia

retrieved 2026-10-26

versatility julia

Overview and timeline, Versatility and platforms

Wikipedia: Zig (programming language)

Wikipedia

retrieved 2026-10-26

versatility zig

Overview and timeline, Versatility and platforms

Wikipedia: Elixir (programming language)

Wikipedia

retrieved 2026-10-26

versatility elixir

Overview and timeline, Versatility and platforms

Wikipedia: Lua

Wikipedia

retrieved 2026-10-26

versatility lua

Overview and timeline, Versatility and platforms

Wikipedia: Haskell

Wikipedia

retrieved 2026-10-26

versatility haskell

Overview and timeline, Versatility and platforms

Wikipedia: Mojo (programming language)

Wikipedia

retrieved 2026-10-26

versatility mojo

Overview and timeline, Versatility and platforms

Wikipedia: SQL

Wikipedia

retrieved 2026-10-26

versatility sql

Overview and timeline, Versatility and platforms

Wikipedia: Bash (Unix shell)

Wikipedia

retrieved 2026-10-26

versatility bash

Overview and timeline, Versatility and platforms

Delphi (software)

Wikipedia

retrieved 2026-10-26

versatility pascal-delphi

Overview and timeline, Versatility and platforms

Object Pascal

Wikipedia

retrieved 2026-10-26

versatility pascal-delphi

Overview and timeline, Versatility and platforms

Timeline of programming languages

Wikipedia

retrieved 2026-10-26

languages.csv first_appeared

Overview and timeline, Versatility and platforms

Sources for the versatility domains

Source Publisher Edition or retrieved Used for Sections and charts

Ada Reference Manual (Ada 2022) Annex C: Systems Programming

Ada Conformity Assessment Authority

Ada 2022; retrieved 2026-10-26

versatility-domains.csv ada systems

Versatility and platforms, Radar comparisons

Get started with the NDK

Google / Android Developers

retrieved 2026-10-26

versatility-domains.csv c; cpp mobile

Versatility and platforms, Radar comparisons

Electron Forge: Webpack + Typescript template

OpenJS Foundation / Electron

retrieved 2026-10-26

versatility-domains.csv typescript desktop

Versatility and platforms, Radar comparisons

Electron home page

OpenJS Foundation / Electron

retrieved 2026-10-26

versatility-domains.csv javascript desktop

Versatility and platforms, Radar comparisons

Flutter home page

Google

retrieved 2026-10-26

versatility-domains.csv dart mobile; desktop; embedded

Versatility and platforms, Radar comparisons

golang.org/x/mobile package documentation

The Go Authors

retrieved 2026-10-26

versatility-domains.csv go mobile

Versatility and platforms, Radar comparisons

Go use cases

The Go Authors

retrieved 2026-10-26

versatility-domains.csv go backend

Versatility and platforms, Radar comparisons

Apache Groovy home page

Apache Software Foundation

retrieved 2026-10-26

versatility-domains.csv groovy backend; desktop

Versatility and platforms, Radar comparisons

GTK home page

The GTK Team

retrieved 2026-10-26

versatility-domains.csv c desktop

Versatility and platforms, Radar comparisons

Haskell home page

Haskell.org

retrieved 2026-10-26

versatility-domains.csv haskell backend

Versatility and platforms, Radar comparisons

IBM Enterprise COBOL for z/OS

IBM

retrieved 2026-10-26

versatility-domains.csv cobol mainframe

Versatility and platforms, Radar comparisons

IBM C/C++ for z/OS

IBM

retrieved 2026-10-26

versatility-domains.csv c; cpp mainframe

Versatility and platforms, Radar comparisons

IBM Db2 for z/OS

IBM

retrieved 2026-10-26

versatility-domains.csv sql mainframe

Versatility and platforms, Radar comparisons

IBM Open Enterprise SDK for Go

IBM

retrieved 2026-10-26

versatility-domains.csv go mainframe

Versatility and platforms, Radar comparisons

Java SDK Products on z/OS

IBM Support

retrieved 2026-10-26

versatility-domains.csv java mainframe

Versatility and platforms, Radar comparisons

IBM Open Enterprise SDK for Node.js

IBM

retrieved 2026-10-26

versatility-domains.csv javascript mainframe

Versatility and platforms, Radar comparisons

IBM Open Enterprise SDK for Python

IBM

retrieved 2026-10-26

versatility-domains.csv python mainframe

Versatility and platforms, Radar comparisons

Julia home page

The Julia Project

retrieved 2026-10-26

versatility-domains.csv julia backend; desktop; embedded; data-ai

Versatility and platforms, Radar comparisons

Kotlin for Android

JetBrains

retrieved 2026-10-26

versatility-domains.csv kotlin mobile

Versatility and platforms, Radar comparisons

Kotlin for data analysis

JetBrains

retrieved 2026-10-26

versatility-domains.csv kotlin data-ai

Versatility and platforms, Radar comparisons

Kotlin/JavaScript overview

JetBrains

retrieved 2026-10-26

versatility-domains.csv kotlin web-frontend

Versatility and platforms, Radar comparisons

Backend development with Kotlin

JetBrains

retrieved 2026-10-26

versatility-domains.csv kotlin backend

Versatility and platforms, Radar comparisons

About Lua

PUC-Rio

retrieved 2026-10-26

versatility-domains.csv lua embedded

Versatility and platforms, Radar comparisons

ASP.NET Core Blazor

Microsoft Learn

retrieved 2026-10-26

versatility-domains.csv csharp web-frontend

Versatility and platforms, Radar comparisons

Microsoft .NET language strategy

Microsoft Learn

retrieved 2026-10-26

versatility-domains.csv visual-basic web-frontend; mobile

Versatility and platforms, Radar comparisons

What is .NET MAUI?

Microsoft Learn

retrieved 2026-10-26

versatility-domains.csv csharp mobile; desktop

Versatility and platforms, Radar comparisons

What is .NET?

Microsoft

retrieved 2026-10-26

versatility-domains.csv csharp backend; data-ai

Versatility and platforms, Radar comparisons

About Node.js

OpenJS Foundation

retrieved 2026-10-26

versatility-domains.csv javascript backend

Versatility and platforms, Radar comparisons

About OpenMP

OpenMP Architecture Review Board

retrieved 2026-10-26

versatility-domains.csv c; cpp scientific-hpc

Versatility and platforms, Radar comparisons

Applications for Python

Python Software Foundation

retrieved 2026-10-26

versatility-domains.csv python backend; desktop; data-ai; scientific-hpc

Versatility and platforms, Radar comparisons

Using Python on Android

Python Software Foundation

Python 3.15.2 docs; retrieved 2026-10-26

versatility-domains.csv python mobile

Versatility and platforms, Radar comparisons

PyTorch C++ API

PyTorch Foundation

retrieved 2026-10-26

versatility-domains.csv cpp data-ai

Versatility and platforms, Radar comparisons

React Native home page

Meta Platforms

retrieved 2026-10-26

versatility-domains.csv javascript mobile

Versatility and platforms, Radar comparisons

React Native: Using TypeScript

Meta Platforms

retrieved 2026-10-26

versatility-domains.csv typescript mobile

Versatility and platforms, Radar comparisons

Rust: Embedded devices

Rust Foundation / Rust project

retrieved 2026-10-26

versatility-domains.csv rust embedded

Versatility and platforms, Radar comparisons

Rust home page

Rust Foundation / Rust project

retrieved 2026-10-26

versatility-domains.csv rust backend

Versatility and platforms, Radar comparisons

rustc book: Platform Support

Rust project

retrieved 2026-10-26

versatility-domains.csv rust mobile; mainframe

Versatility and platforms, Radar comparisons

Scala.js home page

Scala Center / EPFL

retrieved 2026-10-26

versatility-domains.csv scala web-frontend

Versatility and platforms, Radar comparisons

Shiny home page

Posit

retrieved 2026-10-26

versatility-domains.csv r backend

Versatility and platforms, Radar comparisons

Swift.org home page

Swift project

retrieved 2026-10-26

versatility-domains.csv swift backend; mobile; desktop; embedded; systems; data-ai

Versatility and platforms, Radar comparisons

TensorFlow.js

Google

retrieved 2026-10-26

versatility-domains.csv javascript data-ai

Versatility and platforms, Radar comparisons