EMZETT.
Login

Kurz: Tabelle mit Erscheinungsjahr, Paradigma, Typisierung und Ausführung von 44 Programmiersprachen zum schnellen Vergleichen.

Die Tabelle

SpracheJahrParadigmenTypisierungAusführungPakete
Ada1983multi: imperativ, objektorientiert, nebenläufigstatisch, starkkompiliert (GNAT)Alire
Assembler (x86-64)1949maschinennah, imperativkeineAssembler erzeugt Maschinencode—
AWK1977datengetrieben (Muster–Aktion)dynamischInterpreter—
Bash1989imperativ, Skriptdynamisch (alles ist Text)Shell-Interpreter—
C1972imperativ, prozeduralstatisch, schwachkompiliert zu MaschinencodeSystempakete, vcpkg, Conan
C#2000objektorientiert, funktional, nebenläufigstatisch, starkCLR (JIT/AOT)NuGet
C++1985multi: objektorientiert, generisch, prozeduralstatischkompiliert zu Maschinencodevcpkg, Conan, CMake
COBOL1959imperativ, geschäftsorientiertstatischkompiliert (Mainframe, GnuCOBOL)—
Common Lisp1958multi: funktional, objektorientiert (CLOS), Metaprogrammierungdynamisch, starkkompiliert (SBCL) oder interpretiertQuicklisp / ASDF
Dart2011objektorientiert, funktionalstatisch (Null-Safety)JIT und AOT, Übersetzung nach JavaScriptpub.dev
Elixir2011funktional, nebenläufig (Actor-Modell)dynamischBEAM (Erlang-VM)Mix / Hex
Erlang1986funktional, nebenläufig (Actor-Modell)dynamischBEAM (Erlang-VM)rebar3 / Hex
F#2005funktional zuerst, auch objektorientiertstatisch, TypinferenzCLR (.NET)NuGet
Fortran1957imperativ, numerischstatischkompiliert zu Maschinencodefpm
Go2009imperativ, nebenläufig (Goroutinen)statischkompiliert zu MaschinencodeGo-Module
Groovy2003objektorientiert, funktional, dynamischdynamisch, optional statischJVMGrape / Gradle
Haskell1990rein funktional, lazystatisch, stark, Typinferenzkompiliert (GHC) oder interpretiertCabal, Stack / Hackage
HTML + CSS1993deklarativ (Auszeichnung und Gestaltung)keine Programmiersprache im engeren SinnBrowser-Renderingnpm (Frameworks)
Java1995objektorientiert, generisch, nebenläufigstatisch, starkBytecode auf der JVM (JIT)Maven / Gradle
JavaScript1995ereignisgesteuert, funktional, prototypbasiertdynamisch, schwachJIT-Engine (V8, SpiderMonkey)npm
Julia2012multi (Multiple Dispatch), funktionaldynamisch, optionale TypenJIT über LLVMPkg
Kotlin2011objektorientiert, funktionalstatisch, TypinferenzJVM, JavaScript, NativeGradle / Maven
Lua1993imperativ, funktional, prototypbasiertdynamischBytecode-VM (leicht einbettbar)LuaRocks
MATLAB1984imperativ, numerisch (Matrizen)dynamischInterpreter (Kurs: GNU Octave)Toolboxen / Add-ons
Nim2008multi: imperativ, funktional, Metaprogrammierungstatisch, TypinferenzÜbersetzung nach C/C++/JavaScriptNimble
OCaml1996funktional, imperativ, objektorientiertstatisch, TypinferenzBytecode oder nativ kompiliertopam / dune
Pascal1970prozedural, strukturiert (Object Pascal: objektorientiert)statisch, starkkompiliert zu MaschinencodeLazarus OPM / Delphi GetIt
Perl1987multi: imperativ, funktional, objektorientiertdynamischInterpreterCPAN
PHP1995imperativ, objektorientiertdynamisch (optionale Typen)Interpreter (Zend-VM, JIT)Composer / Packagist
PowerShell2006objektorientierte Shell, Pipelinedynamisch (.NET-Typen)Interpreter auf .NETPowerShell Gallery
Prolog1972logisch, deklarativdynamischInterpreter (WAM, SWI-Prolog)SWI-Prolog Packs
Python1991objektorientiert, imperativ, funktionaldynamisch, starkInterpreter (Bytecode, CPython)pip / PyPI
R1993funktional, statistischdynamischInterpreterCRAN
Racket1995funktional, Sprachbaukastendynamisch (Typed Racket: statisch)Racket-VM (Chez Scheme)raco pkg
Ruby1995objektorientiert, funktionaldynamisch, starkInterpreter (YARV, JIT)RubyGems / Bundler
Rust2010multi: imperativ, funktional, nebenläufigstatisch, stark (Ownership)kompiliert zu MaschinencodeCargo / crates.io
Scala2004objektorientiert und funktionalstatisch, starkJVM (auch JavaScript, Native)sbt / Maven
Scheme1975funktional, minimalistischdynamischje nach Implementierung (Guile, Chez, Chicken)je nach Implementierung
SQL1974deklarativstatisch (Schema)Datenbankmanagementsystem—
Swift2014multi: objektorientiert, funktional, protokollorientiertstatisch, starkkompiliert (LLVM)Swift Package Manager
Tcl1988imperativ, Skript (alles ist ein String)dynamischBytecode-InterpreterTcllib / Teapot
TypeScript2012objektorientiert, funktional, ereignisgesteuertstatisch (strukturell), graduellÜbersetzung nach JavaScriptnpm
Visual Basic .NET2002objektorientiert, ereignisgesteuertstatisch, stark (Option Strict)CLR (.NET)NuGet
Zig2016imperativ, systemnahstatischkompiliert zu Maschinencodebuild.zig / zon

So liest du die Tabelle