title |
---|
Ruby vs Language Classics |
C • C++ • Perl • Python • PHP • Lua • Java • JavaScript • Erlang
Lang | First Appeared |
---|---|
Ruby | 1995; 23 years ago |
- vs - | |
C | 1972; 46 years ago |
C++ | 1985; 33 years ago |
Erlang | 1986; 32 years ago |
Perl | 1987; 30 years ago |
Python | 1991; 26 years ago |
Lua | 1993; 25 years ago |
PHP | 1995; 23 years ago |
Java | 1995; 22 years ago |
JavaScript | 1995; 22 years ago |
Source: Wikipedia Programming Language Infoboxes
Lang | Designed by |
---|---|
Ruby | Yukihiro Matsumoto |
- vs - | |
C | Dennis Ritchie |
C++ | Bjarne Stroustrup |
Erlang | Joe Armstrong, Robert Virding, Mike Williams |
Perl | Larry Wall |
Python | Guido van Rossum |
PHP | Rasmus Lerdorf |
*Lua | Roberto Ierusalimschy, Waldemar Celes, Luiz Henrique de Figueiredo |
Java | James Gosling |
JavaScript | Brendan Eich |
Source: Wikipedia Programming Language Infoboxes
Lang | Paradigm |
---|---|
Ruby | Multi-paradigm: object-oriented, imperative, functional, reflective |
- vs - | |
C | Imperative (procedural), structured |
C++ | Multi-paradigm: procedural, functional, object-oriented, generic |
Erlang | Multi-paradigm: concurrent, functional, distributed, process-oriented |
Perl | Multi-paradigm: functional, imperative, object-oriented (class-based), reflective, procedural, event-driven, generic |
Python | Object-oriented, imperative, functional, procedural, reflective |
PHP | Imperative, functional, object-oriented, procedural, reflective |
Lua | Multi-paradigm: scripting, imperative (procedural, prototype-based, object-oriented), functional |
Java | Multi-paradigm: object-oriented (class-based), structured, imperative, generic, reflective, concurrent |
JavaScript | Multi-paradigm: object-oriented (prototype-based), imperative, functional, event-driven |
Source: Wikipedia Programming Language Infoboxes
Dynamic vs Static (Manifest vs Inferred) - Strong vs Weak - Duck (Structural) vs Explicit Interface / Protocol Declarations
Lang | Typing Discipline |
---|---|
Ruby | Dynamic, strong, duck |
- vs - | |
Perl | Dynamic |
Python | Dynamic, strong, duck |
PHP | Dynamic, weak |
Lua | Dynamic, strong, duck |
Erlang | Dynamic, strong |
JavaScript | Dynamic, duck |
C | Static, weak, manifest, nominal |
C++ | Static, nominative, partially inferred |
Java | Static, strong, safe, nominative, manifest |
Source: Wikipedia Programming Language Infoboxes
Lang | Influenced by |
---|---|
Ruby | Ada, C++, CLU, Dylan, Eiffel, Lisp, Lua, Perl, Python, Smalltalk |
- vs - | |
C | B (BCPL, CPL), ALGOL 68, Assembly, PL/I, FORTRAN |
C++ | Ada, ALGOL 68, C, CLU, ML, Simula |
Perl | AWK, C, C++, Lisp, Pascal, sed, Smalltalk 80, Unix shell |
Python | ABC, ALGOL 68, C, C++, CLU, Dylan, Haskell, Icon, Java, Lisp, Modula-3, Perl |
PHP | Perl, C, C++, Java, Tcl |
Lua | C++, CLU, Modula, Scheme, SNOBOL |
Erlang | Prolog, Smalltalk, PLEX, LISP |
Java | Ada 83, C++, C#, Eiffel, Generic Java, Mesa, Modula-3, Oberon, Objective-C, UCSD Pascal, Object Pascal |
JavaScript | Lua, Scheme, Perl, Self, Java, C, Python, AWK, HyperTalk |
Source: Wikipedia Programming Language Infoboxes
Lang | Influenced |
---|---|
Ruby | Clojure, CoffeeScript, Crystal, D, Elixir, Falcon, Groovy, Ioke, Julia, Mirah, Nu, Reia, Ring, Rust, Swift |
- vs - | |
C | Numerous: AMPL, AWK, csh, C++, C--, C#, Objective-C, BitC, D, Go, Java, JavaScript, Julia, Limbo, LPC, Perl, PHP, Pike, Processing, Python, Ring, Rust, Seed7, Vala, Verilog (HDL) |
C++ | Ada 95, C#, C99, Chapel, D, Java, Lua, Perl, PHP, Python, Rust, Nim |
Perl | CoffeeScript, ECMAScript, Falcon, Groovy, JavaScript, Julia, LPC, Perl 6, PHP, Python, Ruby, Windows PowerShell |
Python | Boo, Cobra, Coconut, CoffeeScript, D, F#, Falcon, Genie, Go, Groovy, JavaScript, Julia, Nim, Ring, Ruby, Swift |
PHP | Falcon, Hack |
Lua | Falcon, GameMonkey, Io, JavaScript, Julia, MiniD, Red, Ring, Ruby, Squirrel, MoonScript |
Erlang | F#, Clojure, Rust, Scala, Opa, Reia, Elixir, Dart, Akka, Oz |
Java | Ada 2005, BeanShell, C#, Chapel, Clojure, ECMAScript, Fantom, Gambas, Groovy, Hack, Haxe, J#, JavaScript, Kotlin, PHP, Python, Scala, Seed7, Vala |
JavaScript | ActionScript, AtScript, CoffeeScript, Dart, JScript .NET, LiveScript, Objective-J, Opa, Perl 6, QML, TypeScript |
Source: Wikipedia Programming Language Infoboxes