The Developer’s Cry

a blog about computer programming

The Alphabet Of Code

Ahh, the new year. What programming language to learn in 2025? I’m told the world needs COBOL programmers now more than ever. Seriously though, there’s almost too many languages to choose from. Just pick whatever feels good. For inspiration, let’s play a little game of Scattergories, name that language.

A is for Ada

Named after Ada Lovelace (considered the first programmer in history), this language was designed in 1980 explicitly for safety in large software projects.

B is for BASIC

The best way to learn programming is to start simple. It doesn’t get much simpler than BASIC. In the 1970s and 1980s, it was not uncommon for an 8-bit micro home-computer to boot up into a BASIC interpreter. Many dialects of BASIC exist, and while it is a good language for absolute beginners, more experienced programmers usually regarded it as inferior and slow. Note the past tense, since BASIC has practically disappeared.

C is for … C

The C programming language famously powers the UNIX operating system, and it is not an exaggeration to say that C is the most important language in operating systems. While C can leave you feeling like a wizard, it is also notorious for critical security bugs in software.

D is for Dart

Dart is one of those really interesting technologies that just didn’t seem to take off as much as it should have. Dart is mostly used for Flutter (UI) apps on Android and iOS.

E is for Erlang

Erlang is a functional programming language. It is best known for powering distributed, fault-tolerant messaging systems—think telecom switches, RabbitMQ, Whatsapp.

F is for Fortran

Fortran is from the late 1950s and was historically spelled in all-caps, FORTRAN, because it pre-dates ASCII (there were no lowercase characters in computers!). Even though Modern Fortran is very different from the classical FORTRAN, it remains a much used language to this day in the field of scientific computing, driving simulations for scientific research.

G is for Go

Go was designed as an improved C. The language is quite easy to learn. It incorporates a number of novel ideas that make it stand out from the crowd of other C-like languages. It is a safe, high performance language that is well-suited for systems applications programming. Go sees a lot of uptake in the world of containerized web backend services.

H is for Haskell

Haskell is a purely functional programming language. If you know about monads and currying, then Haskell may be for you.

I is for Icon

Icon is a language that offers strong string processing capabilities. As such, it is maybe best compared to Perl.

J is for JavaScript

For the longest time, JavaScript ranked the #1 most popular programming language in the world. JavaScript runs in a browser, so it’s mainly used for web applications. JavaScript oddly has nothing in common with Java, and one can only guess why it was named this way.

K is for Kotlin

Kotlin is popular for Android apps. It was created as an improvement over Java, and hence builds apps that execute on the JVM. Nowadays the compiler can also build native binaries.

L is for LISP

LISP is an interpreted language that uses S-expressions (a notation (known for) using (many) parens). Original LISP dates back to the 1960s, but a modern variant is, for example, Clojure.

M is for MATLAB

MATLAB was created by a math professor. It has a focus on computing and numerical simulations.

N is for Nim

Nim looks like a scripting language, but actually compiles to binary.

O is for OCaml

OCaml is a modern variant of ML (Meta Language). The Rust compiler was written in OCaml, before becoming self-hosting.

P is for Python

Python is an easy to learn general purpose bytecode interpreted language. Since the early 2000s it consistently ranks as one of the most popular languages. Its most striking feature: no curly braces, indentation matters. Python is a great “glue” language, but it is also popular in the world of scientific computing and AI research.

Q is for QBasic

In the 1990s, Microsoft included QBasic in releases of MS-DOS and Windows. It is a bytecode-interpreted language. QBasic is a descendant of Microsoft’s QuickBASIC (compiler) and GW-BASIC (interpreter). The language basically disappeared when Microsoft dropped support with the release of Windows 2000.

R is for Rust

Rust is a systems programming language designed for safety. It has a steep learning curve; even seasoned programmers may have a hard time mastering Rust. Mutability, ownership, and lifetimes are important concepts in the Rust language.

S is for Swift

Swift is Apple’s successor to Objective-C. Although the language itself is cross-platform, it mainly thrives in the Apple ecosystem; iOS, macOS.

T is for TypeScript

TypeScript is JavaScript with type annotations. Type annotations allow for strict type checking.

U is for Unicon

Unicon is a successor to Icon.

V is for Visual Basic

Visual Basic is a variant of BASIC for Microsoft Windows. It is (or was) notable for its IDE (integrated development environment) where one could visually draw a window with buttons and other UI elements, and double-click to add the code. Visual Basic is discontinued (in favor of C# .NET), but the VB6 runtime is still included in Windows 11 so that existing software may still run.

W is for WebAssembly

The term “WebAssembly” usually refers to a cross-platform binary format that gets loaded via JavaScript and executes in a browser engine. Lots of languages nowadays may compile to target “wasm”, so you are usually programming WebAssembly in another language. That said, WebAssembly does have a text representation, and you can code in it if you really want to.

X is for x86 assembly language

There aren’t many languages starting with ‘X’, so this is a bit of a cop-out. Assembly language is the human-readable version of CPU instructions at the lowest level. Assembly languages are architecture-specific, and therefore non-portable by their very nature. Studying assembly language teaches you more about how computer codes work, and opens the gateway to reverse engineering and sage level hacking.

Y is for Ypsilon

Ypsilon is not really a language of its own; it is an implementation of Scheme. Scheme is a LISP-like functional programming language.

Z is for Zig

Zig is a (spiritual) successor to C. Like C, it is a systems programming language.