Network
Language · FA
Dark mode

REFERENCE

Programming Languages

30 languages — paradigm, typing, year, creator, use case.

Programming Languages Reference

LanguageYearCreatorParadigmTypingRuntimePrimary UseDomain Tags
Python1991Guido van RossumMulti-paradigmDynamicCPython 3.xML/AI, scripting, web, data scienceAI/MLWebScripting
JavaScript1995Brendan EichMulti-paradigmDynamicV8, SpiderMonkeyWeb frontend, Node.js backend, mobileFrontendNode.js
TypeScript2012MicrosoftOOP + FPStatic (transpiled)tsc → JSLarge-scale web apps, type-safe JSFrontendEnterprise
C1972Dennis RitchieImperativeStaticGCC, ClangOS kernels, embedded, systemsSystemsEmbedded
C++1983Bjarne StroustrupMulti-paradigmStaticGCC, Clang, MSVCGame engines, HPC, compilers, roboticsSystemsHPC
C#2000Anders Hejlsberg / MicrosoftOOPStatic.NET CLREnterprise apps, Unity games, WindowsEnterpriseGames
Java1995James Gosling / SunOOPStaticJVMEnterprise backends, Android, big dataEnterpriseAndroid
Go2009GoogleConcurrent, imperativeStaticgc (Go compiler)Cloud services, CLIs, high-concurrencyCloudCLI
Rust2015Mozilla ResearchSystems, functionalStaticrustcSafe systems, WASM, game enginesSystemsSafe
Kotlin2011JetBrainsOOP + FPStaticJVM / Kotlin NativeAndroid, server-side, multiplatformAndroidJVM
Swift2014AppleOOP + FPStaticLLVMiOS/macOS apps, system scriptingiOSmacOS
Dart2011GoogleOOPStaticDart VM / JSFlutter mobile, web appsFlutterWeb
Ruby1995Yukihiro MatsumotoOOPDynamicMRI, JRubyWeb (Rails), scripting, DevOpsWebScripting
PHP1994Rasmus LerdorfMulti-paradigmDynamicZend EngineWeb backends (WordPress, Laravel)WebCMS
R1993Ross Ihaka, R. GentlemanFunctionalDynamicR interpreterStatistics, data analysis, bioinformaticsStatsBio
Julia2012Jeff Bezanson et al.Multi-paradigmDynamic JITJulia compilerScientific computing, numerical analysisHPCScience
Scala2004Martin OderskyOOP + FPStaticJVM / Scala NativeBig data (Spark), functional backendsBig DataFP
Haskell1990Committee (FPCA)Pure FPStaticGHCCompilers, formal verification, researchFPResearch
Elixir2011José ValimFunctionalDynamicBEAM (Erlang VM)Distributed systems, real-time, PhoenixRealtimeDistributed
Erlang1986EricssonConcurrent FPDynamicBEAM VMTelecom, distributed fault-tolerant systemsTelecomFault-tolerant
Lua1993PUC-RioMulti-paradigmDynamicPUC LuaGame scripting (Roblox, Love2D), embeddedGamesEmbedded
Perl1987Larry WallMulti-paradigmDynamicPerl interpreterText processing, sysadmin, bioinformaticsTextSysAdmin
MATLAB1984MathWorksMatrix-orientedDynamicMATLAB runtimeEngineering simulation, signal processingScienceSignal
Assembly1949VariousImperative (ISA)None (direct)NASM, MASM, GASFirmware, bootloaders, reverse engineeringLow-levelFirmware
Fortran1957John Backus / IBMImperativeStaticgfortran, ifortScientific HPC, weather/climate modelsHPCScience
COBOL1959Grace Hopper et al.ProceduralStaticGnuCOBOLBanking, insurance, legacy enterpriseFinanceLegacy
SQL1974IBM (Chamberlin, Boyce)DeclarativeStatic-typedAll RDBMSData querying, database managementDataDB
Bash/Shell1989Brian Fox (Bash)ScriptingDynamicbash, zsh, shUnix automation, CI/CD, system tasksScriptingDevOps
PowerShell2006Jeffrey Snover / MicrosoftOOP + ScriptingDynamic.NETWindows automation, Azure, DevOpsWindowsDevOps
Prolog1972Alain ColmerauerLogicDynamicSWI-PrologAI/logic programming, NLP, theorem provingAILogic

* Typing: Static = compile-time type check. Dynamic = runtime. "Static (transpiled)" = TypeScript compiles to JS.