Skip to main content

Book 14 · Cheat sheet

Programming Languages

The languages developers write in, what each one is known for, and where you are most likely to meet it.

01Assembly Language
Assembly language is a low-level language whose instructions map almost one-to-one onto a processor's machine code, written as short mnemonics like mov and add.
  • Each assembly instruction usually maps to one machine instruction.
  • Every CPU architecture, such as x86-64, ARM64 or RISC-V, has its own assembly language.
  • An assembler converts assembly text into binary machine code.
02BashBourne Again Shell
Bash is a Unix shell and scripting language, the default on most Linux systems, used both to type commands interactively and to automate tasks with scripts.
  • Bash is a Unix shell and scripting language released in 1989.
  • It is the default command line on most Linux systems.
  • Pipes, variables, loops and functions glue programs together.
03C
C is a compiled, low-level programming language that gives direct control over memory and is used to build operating systems, drivers, and embedded software.
  • C compiles directly to machine code, which makes it fast and predictable.
  • Memory is managed manually with functions like malloc and free.
  • It has no classes, exceptions, or garbage collector.
04C#
C# is a statically typed, object-oriented language that runs on the .NET runtime with garbage collection and is used for web backends, desktop apps, and games.
  • C# is statically typed and object-oriented, with many functional features.
  • Code compiles to Intermediate Language (IL) that the .NET runtime turns into machine code.
  • Memory is managed by a garbage collector.
05C++
C++ is a compiled, statically typed language that extends C with classes and templates while keeping low-level control over memory and performance.
  • C++ compiles to native machine code and offers fine-grained control over performance.
  • It supports procedural, object-oriented, and generic programming styles.
  • Memory is managed through scope-based RAII and smart pointers rather than a garbage collector.
06Clojure
Clojure is a modern, dynamic dialect of Lisp that runs on the JVM, emphasizing immutable data, functional programming and interactive, REPL-driven development.
  • Clojure is a Lisp dialect that runs on the JVM and can use Java libraries.
  • Its core data structures are immutable and persistent.
  • Code is written as data, so macros can extend the language.
07COBOLCommon Business-Oriented Language
COBOL (Common Business-Oriented Language) is a language from 1959 for business data processing that still runs critical banking and government systems.
  • COBOL is a business programming language from 1959.
  • Its English-like syntax was meant to be readable by non-programmers.
  • Programs have identification, environment, data and procedure divisions.
08Dart
Dart is a statically typed, garbage-collected language from Google that compiles to native code and JavaScript, best known as the language of Flutter apps.
  • Dart is an object-oriented, statically typed language with sound null safety.
  • It compiles ahead of time to native code, and to JavaScript or WebAssembly for the web.
  • JIT compilation during development enables fast hot reload.
09Elixir
Elixir is a dynamic, functional language that runs on the Erlang virtual machine and is known for building fault-tolerant, highly concurrent systems.
  • Elixir runs on the BEAM, the Erlang virtual machine, and interoperates with Erlang code.
  • Lightweight processes and message passing make massive concurrency practical.
  • Supervisors restart failed processes, which helps systems recover automatically.
10Erlang
Erlang is a functional language created at Ericsson for telecom switches, designed for massive concurrency, fault tolerance and systems that must keep running.
  • Erlang was built at Ericsson for telecom systems that must run continuously.
  • Lightweight processes communicate by message passing and share no memory.
  • OTP supervisors restart failed processes, following the "let it crash" philosophy.
11F#
F# is a functional-first, statically typed language for .NET that pairs concise, type-inferred code with full access to the .NET ecosystem and C# libraries.
  • F# is a functional-first, statically typed language that runs on .NET.
  • Strong type inference means most code needs no type annotations.
  • Discriminated unions and pattern matching model data clearly and safely.
12FortranFormula Translation
Fortran is the first widely used high-level language, created at IBM in 1957 for science and engineering and still used in high-performance computing.
  • Fortran was created at IBM in 1957 for scientific computing.
  • It was the first widely used high-level language.
  • Modern standards add modules, array operations, OOP and parallelism.
13Go
Go is a compiled, statically typed language built for simplicity and fast builds, with garbage collection and built-in concurrency through goroutines.
  • Go compiles to a single native executable with no separate runtime to install.
  • It is statically typed and garbage-collected, with a deliberately small feature set.
  • Goroutines and channels make concurrent programs simpler to write.
14Haskell
Haskell is a purely functional, statically typed language with lazy evaluation, known for its expressive type system and mathematically precise code.
  • Haskell is purely functional: side effects are tracked in the type system through types like IO.
  • It uses lazy evaluation, computing values only when they are needed.
  • Its static type system infers most types and uses type classes for shared behavior.
15Java
Java is a statically typed, object-oriented programming language that compiles to bytecode for the Java Virtual Machine, so programs run on many platforms.
  • Java is not related to JavaScript; the similar name is a historical marketing decision.
  • Code compiles to bytecode that runs on the Java Virtual Machine (JVM).
  • It is statically typed and strongly object-oriented.
16Julia
Julia is a high-level, dynamically typed language for scientific and numerical computing, designed to be as easy to write as Python and as fast as C.
  • Julia is a fast, dynamic language for scientific and numerical computing.
  • It was announced in 2012 and reached version 1.0 in 2018.
  • JIT compilation through LLVM gives speed close to C.
17JVMJava Virtual Machine
The JVM runs Java bytecode, so the same compiled program works on any operating system; Kotlin, Scala and Clojure compile to that bytecode too.
  • The JVM runs Java bytecode, so a compiled program works on any operating system.
  • It manages memory with a garbage collector and speeds up hot code with a JIT compiler.
  • Kotlin, Scala, Clojure and Groovy also compile to JVM bytecode.
18Kotlin
Kotlin is a concise, statically typed language that runs on the JVM, works seamlessly with Java, and is widely used for Android and server-side development.
  • Kotlin compiles to JVM bytecode and interoperates fully with Java.
  • Types are non-nullable by default, which helps prevent null pointer errors.
  • It is statically typed with strong type inference and concise syntax.
19Lua
Lua is a small, fast scripting language designed to be embedded in other applications, making it popular for game scripting, plugins and configuration.
  • Lua is a tiny scripting language designed to be embedded inside other applications.
  • Tables are its single, flexible data structure for arrays, maps and objects.
  • Arrays in Lua start at index 1 by convention.
20MATLABMatrix Laboratory
MATLAB is a matrix-based language and environment from MathWorks for numerical computing, used by engineers and scientists for data analysis and simulation.
  • MATLAB is a language and environment for numerical, matrix-based computing.
  • It began in the late 1970s; MathWorks has sold it since 1984.
  • Toolboxes and Simulink serve engineering fields such as control and signal processing.
21Objective-C
Objective-C is an object-oriented superset of C with Smalltalk-style messaging, and it was the main language for macOS and iOS apps before Swift arrived.
  • Objective-C is a strict superset of C with Smalltalk-style objects and messaging.
  • Method calls are messages written in square brackets and dispatched at runtime.
  • It was the main language for macOS and iOS development before Swift.
22Perl
Perl is a mature, dynamic scripting language famous for text processing and built-in regular expressions, long used for system administration and web scripts.
  • Perl is a dynamic scripting language built for text processing.
  • Regular expressions are part of the core syntax.
  • Sigils like $, @ and % mark scalars, arrays and hashes.
23PHPPHP: Hypertext Preprocessor
PHP is a dynamically typed scripting language designed for web development that runs on the server to generate HTML pages and respond to browser requests.
  • PHP runs on the server and sends only its output, such as HTML or JSON, to the browser.
  • It is dynamically typed, with optional type declarations and a strict types mode.
  • Memory is managed automatically and released at the end of each request.
24PowerShell
PowerShell is Microsoft's command-line shell and scripting language for automating administration, passing objects rather than plain text between commands.
  • PowerShell is Microsoft's shell and scripting language, first released in 2006.
  • PowerShell 7 is open source and runs on Windows, macOS and Linux.
  • Cmdlets use Verb-Noun names such as Get-Process.
25Programming Language
A programming language is a formal language with exact rules for writing instructions a computer can carry out, such as Python, JavaScript, Java or C.
  • A programming language has exact rules (syntax) and meanings (semantics) for writing instructions.
  • Programs are compiled, interpreted, or compiled to bytecode for a virtual machine.
  • Languages range from low level, close to the hardware, to high level.
26Python
Python is a general-purpose, dynamically typed programming language known for readable syntax and wide use in data science, automation, and web backends.
  • Python uses indentation to define code blocks, which keeps code visually consistent.
  • It is dynamically but strongly typed, with optional type hints.
  • Memory is managed automatically through reference counting and garbage collection.
27R
R is a programming language and environment for statistics and data analysis, widely used in research for data visualization, statistical models and reports.
  • R is designed specifically for statistics, data analysis and graphics.
  • Operations are vectorized, so they apply to whole vectors without explicit loops.
  • Data frames are its core structure for tabular data.
28Ruby
Ruby is a dynamic, object-oriented programming language designed for developer happiness, best known for readable syntax and the Ruby on Rails web framework.
  • Ruby is a dynamic, object-oriented language focused on readability and developer happiness.
  • Everything in Ruby is an object, including numbers and nil.
  • Blocks and metaprogramming make concise, expressive code possible.
29Rust
Rust is a compiled, statically typed systems language that provides memory safety without a garbage collector by checking ownership rules at compile time.
  • Rust compiles to native machine code with performance comparable to C and C++.
  • Ownership and borrowing rules give memory safety without a garbage collector.
  • The compiler prevents data races in safe code, making concurrency safer.
30Scala
Scala is a statically typed JVM language that combines object-oriented and functional programming and is widely used for data engineering and backend systems.
  • Scala runs on the JVM and can use Java libraries directly.
  • It combines object-oriented and functional programming in one language.
  • Case classes, traits, pattern matching and immutable collections are central features.
31Swift
Swift is a compiled, statically typed language designed for safety and speed, used mainly to build apps for iPhone, iPad, Mac, and other Apple platforms.
  • Swift is the main language for building apps on Apple platforms.
  • It is statically typed, with optionals that make missing values explicit.
  • Memory is managed with Automatic Reference Counting (ARC), not a tracing garbage collector.
32Visual Basic
Visual Basic is Microsoft's family of beginner-friendly languages, including classic Visual Basic, VB.NET and VBA, which automates Office apps with macros.
  • Visual Basic is Microsoft's family of beginner-friendly languages.
  • Visual Basic 1.0 in 1991 made visual Windows app building popular.
  • VB.NET, from 2002, is supported but no longer gets new language features.
33Zig
Zig is a low-level systems programming language that aims to be a simpler, safer successor to C, with manual memory management and no hidden control flow.
  • Zig is a systems language positioned as a modern, simpler alternative to C.
  • Memory is managed manually through explicit allocators passed to functions.
  • comptime runs Zig code at compile time instead of relying on macros.
33 terms from Software Dictionary. Full explanations, examples and FAQs at softwaredictionary.org/categories/languages

Back to the bookTip: pick "Save as PDF" in the print dialog to keep a copy.

Read a random page
Open today's review
Switch to the dark theme
Read this page in Türkçe

More

Settings