Index

Guides

Decision guides framed by the problem a developer is solving.

Reference page

Choosing A Beginner Education Language

A practical guide for choosing Scratch, Python, JavaScript, Scheme, GDScript, or another beginner programming environment by learner age, classroom context, feedback loop, tooling burden, and transition path.

Reference page

Choosing A Concurrency-Oriented Backend Language

A decision guide for choosing Elixir, Erlang, Gleam, Go, Crystal, Java, C#, Kotlin, Scala, Rust, JavaScript, or Python when concurrent services, realtime systems, background work, and operational reliability drive the backend language decision.

Reference page

Choosing A Distributed Systems Language

A practical guide for choosing Erlang, Elixir, Gleam, Go, Java, C#, Scala, Rust, TypeScript, or Python when distributed services, node coordination, message passing, reliability, and operations shape the language decision.

Reference page

Choosing A Functional Programming Language

A practical guide for choosing Haskell, OCaml, F#, Scala, Clojure, Common Lisp, Scheme, Elixir, Erlang, Gleam, or a functional style in mainstream languages when domain modeling, explicit effects, immutable data, type systems, platform fit, and team skill drive the decision.

Reference page

Choosing A Game Development Language

A practical guide for choosing C++, C#, GDScript, Rust, Odin, JavaScript, Lua, or engine-specific scripting by engine, platform targets, iteration speed, performance constraints, and team workflow.

Reference page

Choosing A Legacy Maintenance Language

A decision guide for maintaining, modernizing, wrapping, or replacing older production systems in Perl, PHP, CFML, Ruby, shell, C, C++, Java, Python, Objective-C, Fortran, COBOL, Delphi, Visual Basic, VBA, ABAP, PL/SQL, Transact-SQL, SAS, and related languages.

Reference page

Choosing A Lisp-Family Language

A practical guide for evaluating Clojure, Common Lisp, Scheme, Racket, and Lisp-family systems by platform, macro power, interactive development, ecosystem fit, tooling, deployment, and team maintenance cost.

Reference page

Choosing A Logic Programming Language

A practical guide for deciding when Prolog, constraint logic programming, or a rule/search subsystem fits better than implementing relations and search in a mainstream language.

Reference page

Choosing A Performance-Critical Language

A practical guide for choosing C++, Rust, D, Odin, Ada, C, Fortran, Julia, Mojo, MATLAB, LabVIEW, Go, Java, or C# when latency, throughput, memory footprint, native integration, numerical throughput, hardware timing, or predictable resource behavior is part of the product requirement.

Reference page

Choosing A Safety-Critical Language

A practical guide for choosing Ada, SPARK, C, C++, Rust, LabVIEW, VHDL, Verilog/SystemVerilog, or another language for safety-critical and high-integrity software or hardware by certification context, target runtime, tool qualification, analyzability, and team evidence.

Reference page

Choosing A Smart Contract Language

A practical guide for choosing Solidity, Rust, or another platform-specific language when blockchain smart contracts, contract verification, audits, chain runtime constraints, and deployment risk shape the language decision.

Reference page

Choosing An Embedded Scripting Language

A practical guide for choosing Lua, Scheme, GDScript, JavaScript, Python, MicroPython, or a host-specific language for application plugins, device scripts, game logic, modding, configuration, and user automation.

Reference page

Choosing An Infrastructure As Code Language

A guide for deciding when infrastructure should be declared in HCL, wrapped with shell or PowerShell, supported by Python, or modeled in a general-purpose language such as TypeScript, Go, C#, Java, or Rust.

Reference page

Choosing a Systems Language

A practical guide for evaluating systems languages by runtime constraints, memory model, concurrency needs, team skill, ecosystem, and deployment target.

Reference page

Choosing an Embedded Language

A practical guide for choosing C, Rust, Ada, C++, Zig, Odin, MicroPython, LabVIEW, VHDL, Verilog/SystemVerilog, or another language for firmware, embedded systems, and hardware-adjacent work by target support, runtime constraints, vendor tooling, safety needs, and maintenance risk.