Skip to content

Latest commit

 

History

24 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 

Repository files navigation

Programming Language Toolchain Matrix

A personal cheatsheet for compiled and interpreted programming languages I have encountered, but haven't necessarily used. The purpose of this list is to compare development environments, toolchain and ecosystems across different languages, specifically gauging how complex they are to configure and how quickly a developer can get them set up and running, start developing and execute or compile a program on a fresh machine (Microsoft Windows prioritized).

v1.202605.2
Language Assemblers, Linkers, Compilers, Interpreters, Loaders Package Managers Dependency Managers Build Tools Run Commands Internal Runtime External Runtime Required Toolchain Setup Friction
ActionScript mxmlc, adl, compc apm - ant, maven mxmlc Main.as Adobe Flash Player, Adobe AIR Adobe Flash Player or Ruffle Flash Emulator, Adobe AIR Multimedia / Legacy
- - - - - adl Main-app.xml - - -
Assembly (x64) nasm, yasm, ld - - make, cmake nasm -f elf64 hello.asm && ld hello.o && ./a.out Amd64, Operating System Kernel Microsoft Visual C++ Redistributable Technical / Manual
Bash bash, sh brew, apt, pacman - make bash hello.sh Bash Git Bash, Linux Native / Ubiquitous
- - - - - ./hello.sh - - -
BASIC fbc - - make fbc hello.bas && ./hello Common Language Runtime Microsoft Visual C++ Redistributable Minimalist / Retro
- - - - - fbc -run hello.bas - - -
Batch cmd - - - hello.bat Microsoft Windows Command Prompt - Native / Legacy
- - - - - cmd /c hello.bat - - -
C gcc, clang vcpkg, conan - make, cmake, ninja, meson, autoconf gcc hello.c -o hello && ./hello C Runtime Library Microsoft Visual C++ Redistributable Industrial / Heavy
- - - - - make run - - -
C# dotnet, csc nuget - msbuild, dotnet build dotnet run Common Language Runtime Microsoft .NET Multi-GB / Bloated
- - - - - csc Hello.cs && ./Hello.exe - - -
C++ g++, clang++ vcpkg, conan - cmake, ninja, make, meson, bazel g++ hello.cpp -o hello && ./hello C++ Runtime Library Microsoft Visual C++ Redistributable Complex / Fragmented
- - - - - cmake --build . && ./hello - - -
C3 c3c - c3c c3c c3c compile-run main.c3 Common Language Runtime - Smooth / Single-binary
Carbon carbon - bazel bazel carbon run hello.carbon Low Level Virtual Machine, C++ Runtime Library - Experimental / Google-centric
- - - - - bazel run //:hello - - -
- - - - - carbon run hello.carbon - - -
Dart dart, dart2js, dart compile pub pub dart, flutter dart run Dart Virtual Runtime Dart SDK Low
- - - - - dart test - - -
Go go - go mod go build, make, mage go run hello.go Go Runtime - Professional / Polished
- - - - - go build hello.go && ./hello - - -
Jai jai - jai jai jai main.jai - - Exclusive
Java java, javac, kotlinc - maven, gradle maven, gradle, ant, bazel java Hello.java Java Virtual Machine, Java Runtime Environment Java Development Kit , Java Runtime Environment Modular / Enterprise
- - - - - mvn exec:java - - -
- - - - - gradle run - - -
JavaScript node, bun, deno npm, pnpm, yarn, bun npm, pnpm, yarn, bun vite, tsdown, esbuild, webpack, rollup node hello.js Browser JavaScript Engine JavaScript Engine (node, deno, bun) Instant / Quick setup
- - - - - npm start - - -
- - - - - bun run hello.js - - -
Kotlin java, javac, kotlinc - maven, gradle maven, gradle, ant, bazel kotlinc hello.kt -include-runtime -d hello.jar && java -jar hello.jar Java Virtual Machine, Java Runtime Environment Java Development Kit , Java Runtime Environment Refined / Modern
Lua lua, luajit luarocks - make lua hello.lua Lua Interpreter, Lua Virtual Machine Microsoft Visual C++ Redistributable Portable / Ultra-light
- - - - - luajit hello.lua - - -
Luau luau wally, pesde - rojo, darklua luau hello.lua Luau Interpreter, Luau Virtual Machine Roblox Player, Roblox Studio Safety-first / Game-centric
- - - - - lune run hello.luau - - -
Odin odin - odin odin, make odin run . - Microsoft Visual C++ Redistibutable, Microsoft Desktop Development Kit Artistic / Game-dev focus
- - - - - odin build . && ./hello - - -
Pascal fpc opm - make fpc hello.pas && ./hello Runtime Library - Structured / Academic
Object Pascal fpc, dcc32, dcc64 opm, GetIt - make, msbuild fpc hello.pas && ./hello Runtime Library, Visual Component Library - RAD / Enterprise-focused
- - - - - dcc32 hello.pas && ./hello.exe - - -
PHP php - composer make, phing, composer php hello.php Zend Engine PHP Interpreter (Zend Engine), Microsoft Visual C++ Redistibutable Web-standard / Agile
- - - - - php -S localhost:8000 - - -
PowerShell pwsh, powershell PowerShellGet, winget, chocolatey, scoop - Invoke-Build, psake pwsh hello.ps1 Common Language Runtime, PowerShell Microsoft .NET Native / Admin focus
- - - - - .\hello.ps1 - - -
Python python, python3 uv, pip, conda poetry setuptools, hatch, poetry, maturin uv run hello.py CPython Python Interpreter (python, uv) Instant and quick (If rust-powered)
- - - - - python hello.py - - -
Rust rustc cargo - cargo, maturin cargo run - Microsoft Visual Studio C++ Toolchain or GNU Toolchain (MinGW-w64) Robust / Ironclad
- - - - - rustc main.rs && ./main - - -
Smali smali, baksmali - - apktool, gradle java -jar smali.jar a out/ -o classes.dex Dalvik Virtual Machine, Android Runtime Apktool, Android Emulation Environment, Java Development Kit Hacker / Reverse-engineer
Swift swiftc, swift swift package, cocoapods, carthage swift package swift build, xcodebuild, cmake swift hello.swift Swift Runtime Swift Toolchain, Xcode Command Line Tools Apple-centric / Polished
- - - - - swift run - - -
- - - - - swiftc hello.swift && ./hello - - -
Objective-C clang, gcc cocoapods, carthage - xcodebuild, make, cmake, ninja clang hello.m -o hello -framework Foundation && ./hello Objective-C Runtime, Foundation Framework Xcode Command Line Tools, Apple SDK Legacy / Apple ecosystem
- - - - - xcodebuild -project MyApp.xcodeproj - - -
TypeScript tsc, tsx, bun npm, pnpm, yarn, bun npm, pnpm, yarn, bun tsc, vite, tsdown, esbuild, swc tsx hello.ts - JavaScript Engine (node, deno, bun) Strict / Scalable
- - - - - bun run hello.ts - - -
WebAssembly wasm-tools, emcc wapm, npm - emcc, wasm-pack wasm-tools run hello.wasm Browser Web Assembly Engine browser, wasmtime or wasmer or wasmedge Universal / Sandboxed
Zig zig - zig fetch zig build zig run hello.zig - - Zero-dependency / Elite
- - - - - zig build run - - -

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors