Languages
An index of every volume in the reference. Each follows the same sequence of sections — basics, control flow, building blocks, practice — applied to a different language.
- C →C
A general-purpose, statically typed, imperative systems programming language standardised by ISO/IEC since 1990. Forms the basis of operating-system kernels, language interpreters, embedded firmware, and the C application binary interface adopted by most other programming languages.
- C# →C#
A general-purpose, statically typed, multi-paradigm programming language developed by Microsoft. Compiled to the Common Intermediate Language and executed by the .NET runtime; standardised through ECMA and ISO.
- C+ →C++
A general-purpose, statically typed, multi-paradigm programming language standardised by ISO/IEC since 1998. Built on a C-compatible substrate with substantial additions for object-oriented programming, generic programming through templates, deterministic resource management via RAII, and a rich standard library.
- Go →Go
A general-purpose, statically typed, compiled language designed at Google. Combines a small grammar, garbage collection, and built-in concurrency primitives with a single canonical toolchain.
- Ha →Haskell
A purely functional, statically typed, non-strict programming language standardised by an academic committee. The mainstream representative of the strongly typed functional tradition.
- Ja →Java
A general-purpose, statically typed, object-oriented programming language compiled to bytecode and executed on the Java Virtual Machine. The mainstream language of enterprise application development since the late 1990s.
- Ko →Kotlin
A general-purpose, statically typed programming language developed by JetBrains. Designed for full interoperability with Java; the official language for Android development and a target for cross-platform development through Kotlin Multiplatform.
- Lu →Lua
A small, dynamically typed scripting language designed for embedding in host applications. Found in game engines, application scripting, and as the configuration substrate for several systems.
- MA →MATLAB
A high-level numerical computing environment and programming language built around the matrix as the fundamental datum. Pervasive in engineering, scientific computing, control systems, signal and image processing, and finance; sold as a commercial product by The MathWorks since 1984.
- Py →Python
A general-purpose, dynamically typed, interpreted programming language designed for readability and rapid development. Used widely in data science, scientific computing, scripting, web back-ends, and education.
- Ru →Ruby
A general-purpose, dynamically typed, multi-paradigm programming language designed for programmer productivity and readability. The substrate of Ruby on Rails and the principal influence on a generation of dynamic-language web frameworks.
- Ru →Rust
A general-purpose, statically typed systems programming language with an ownership-based memory model that guarantees memory safety without a garbage collector. Compiles to native machine code through an LLVM-based toolchain.
- SQ →SQLite
A small, embedded, public-domain relational database engine that stores an entire database in a single ordinary file. The most-deployed database engine in the world, found in every major browser, every smartphone, every operating system, and in many embedded and avionics systems.
- Sw →Swift
A general-purpose, statically typed, multi-paradigm programming language developed by Apple as a replacement for Objective-C across the Apple platforms. Open-source under the Apache 2.0 licence since 2015.
- Ty →TypeScript
A statically typed superset of JavaScript developed by Microsoft. Adds compile-time type checking to a JavaScript program and emits plain JavaScript suitable for any conforming runtime.
- We →Web (HTML / CSS / JS)
The three languages of the browser — HTML for document structure, CSS for styling and layout, JavaScript for behaviour — together with the substantial Web platform APIs (DOM, Events, Fetch, Storage). The conventional substrate of front-end development.