Language Influence Relationships

Conceptual influence relationships document which design ideas, syntax features, or programming paradigms one language borrowed or adapted from another.

All 189 Relationships

FromToConfidenceNotes
ABC Python 99% Python's primary inspiration - Guido worked on ABC before Python
Pascal Delphi 99% Delphi is Object Pascal, direct extension of Pascal
ALGOL ALGOL 68 99% ALGOL 68 is revision of ALGOL 60
Lua LuaJIT 99% LuaJIT is JIT implementation of Lua
S R 99% R designed as open-source implementation of S
Smalltalk Pharo 99% Pharo is Smalltalk dialect
Pascal Free Pascal 99% Free Pascal is open-source Pascal compiler
Fortran Fortran 95 99% Fortran 95 is revision of Fortran 90
BCPL B 98% BCPL directly inspired B; Ken Thompson acknowledged this lineage
B C 98% C evolved directly from B at Bell Labs
Lisp Scheme 98% Scheme is a minimalist Lisp dialect
Lisp Common Lisp 98% Common Lisp standardized multiple Lisp dialects
Scheme Racket 98% Racket was originally PLT Scheme
ML Standard ML 98% SML is a direct standardization of ML
ML OCaml 98% OCaml is an ML dialect with objects added
C C++ 98% C++ is a superset extension of C
C Objective-C 98% Objective-C adds Smalltalk messaging to C
Smalltalk Objective-C 98% Objective-C directly adds Smalltalk message passing to C
OCaml ReasonML 98% ReasonML is OCaml with JS-friendly syntax
Java Kotlin 98% Kotlin designed to interoperate with Java
Java Scala 98% Scala runs on JVM and adopts Java interop
JavaScript TypeScript 98% TypeScript is a typed superset of JavaScript
JavaScript CoffeeScript 98% CoffeeScript transpiles to JavaScript
Python Mojo 98% Mojo is a Python superset for AI/ML
Ruby Crystal 98% Crystal uses Ruby-like syntax
Erlang Elixir 98% Elixir runs on BEAM and uses Erlang semantics
Oberon Oberon-2 98% Oberon-2 extends Oberon with type-bound procedures
APL J 98% J is successor to APL by Kenneth Iverson
Scheme GNU Guile 98% GNU Guile is Scheme implementation
FLOW-MATIC COBOL 97% FLOW-MATIC was the primary inspiration for COBOL's English-like syntax; Grace Hopper served on the CODASYL committee
Pascal Modula-2 97% Modula-2 is direct successor to Pascal by Niklaus Wirth
Modula-2 Modula-3 97% Modula-3 extends Modula-2
Modula-2 Oberon 97% Oberon designed as successor to Modula-2
Miranda Haskell 97% Miranda's lazy evaluation and type classes directly inspired Haskell
Lisp Clojure 97% Clojure is a Lisp dialect on the JVM
Python Cython 97% Cython is superset of Python with C extensions
Prolog Mercury 97% Mercury is statically-typed descendant of Prolog
BCPL C 97% C directly descended from BCPL via B language
Bourne Shell Bash 97% Bash is GNU replacement and superset of Bourne Shell
Python mypy 97% Mypy is optional static type checker for Python
ALGOL Simula 95% Simula directly extended ALGOL 60
ALGOL Pascal 95% Wirth based Pascal on ALGOL
Simula C++ 95% Stroustrup acknowledged Simula's class system as C++ inspiration
ML Haskell 95% Haskell drew heavily from ML's type system
ML F# 95% F# is strongly derived from ML/OCaml
Haskell Elm 95% Elm inspired directly by Haskell
Haskell PureScript 95% PureScript is Haskell-inspired
C++ D 95% D designed as C++ successor
Pascal Ada 95% Ada designed as Pascal successor for DoD
Go V 95% V's syntax heavily influenced by Go
Newsqueak Go 95% Go's channel-based concurrency directly from Newsqueak
Limbo Go 95% Limbo's concurrency model influenced Go
Cyclone Rust 95% Cyclone's region-based memory directly inspired Rust's ownership system
Haskell Idris 95% Idris extends Haskell with dependent types
Pascal Oberon 95% Oberon designed by Pascal's creator Wirth as successor
Planner Prolog 93% Planner (Carl Hewitt, 1969) directly inspired Prolog's logic programming paradigm; listed as influence on Wikipedia
C# TypeScript 93% TypeScript designed by Anders Hejlsberg, who created C#
Self JavaScript 93% Self's prototype-based inheritance directly used in JavaScript
C Zig 93% Zig designed as modern C replacement
C Go 93% Go's syntax influenced by C
Smalltalk Ruby 92% Matz cited Smalltalk as major influence
OCaml F# 92% F# initially derived from OCaml
COMTRAN COBOL 92% IBM's COMTRAN contributed data description concepts to COBOL design
Alef Go 92% Alef's CSP-style concurrency influenced Go
Modula-3 Python 92% Modula-3 influenced Python's module system and exception handling
Scheme JavaScript 92% Scheme influenced JavaScript's first-class functions and closures
Erlang Gleam 92% Gleam runs on Erlang VM
Simula Smalltalk 90% Alan Kay cited Simula as major influence
Scheme Clojure 90% Rich Hickey cited Scheme as influence
Standard ML OCaml 90% OCaml shares SML heritage
C++ Java 90% Java adopted C++ syntax and OOP concepts
Java Groovy 90% Groovy runs on JVM, Java syntax compatible
Objective-C Swift 90% Swift designed as Objective-C successor for Apple
Perl PHP 90% PHP originally scripting layer inspired by Perl
Perl Ruby 90% Matz cited Perl as major influence on Ruby
ML Rust 90% ML family influenced Rust's type system and pattern matching
Rust Gleam 90% Gleam's type system and tooling heavily inspired by Rust
C Python 90% C influenced Python's syntax and CPython implementation
Common Lisp Clojure 90% Clojure influenced by Common Lisp's pragmatic Lisp approach
C D 90% D designed as improved C/C++
Haskell Scala 90% Scala's type system influenced by Haskell
Prolog Erlang 90% Erlang originally implemented in Prolog, shares its sequential subset
Haskell Agda 90% Agda influenced by Haskell's type theory
MATLAB Julia 90% Julia influenced by MATLAB's scientific computing
Fortran MATLAB 90% MATLAB's numerical computing tradition from Fortran
C Perl 90% Perl influenced by C's syntax and operators
AWK Perl 90% Perl influenced by AWK's text processing paradigm
TypeScript Angular 90% Angular 2+ written in TypeScript
Oberon-2 Go 88% Oberon-2 influenced Go's package system and declarations
Rust Zig 88% Zig influenced by Rust's safety and systems programming approach
CLU Python 88% CLU influenced Python's iterators and call-by-object semantics
Lisp JavaScript 88% Brendan Eich originally aimed for Scheme in the browser
C V 88% V influenced by C and Go for systems programming
Delphi C# 88% Anders Hejlsberg created both Delphi and C#
C AWK 88% AWK influenced by C syntax
CLU Rust 87% CLU influenced Rust's iterator protocol and exception handling
Haskell Python 87% Haskell influenced Python's list comprehensions and functional features
Modula-2 Go 87% Go's package system influenced by Modula-2
Java JavaScript 87% Java influenced JavaScript's name and some syntax by Netscape mandate
Smalltalk Java 87% Smalltalk influenced Java's OOP design
Lisp Ruby 87% Ruby influenced by Lisp's expression-oriented style
Lisp Python 87% Lisp influenced Python's functional features (map, filter, reduce)
Scala Kotlin 87% Kotlin influenced by Scala's features on JVM
C# Dart 87% Dart influenced by C#'s class-based design
APL MATLAB 87% MATLAB's matrix operations inspired by APL
ML Mercury 87% Mercury influenced by ML's static type system
C PHP 87% PHP influenced by C's syntax
Fortran PL/I 87% PL/I incorporated Fortran's scientific computing features
ALGOL C 85% C adopted block structure and control flow from ALGOL
Lisp ML 85% ML influenced by Lisp in interactive style
Haskell Rust 85% Rust adopted algebraic types and type classes from Haskell
C++ Rust 85% Rust influenced by C++'s systems programming model
Smalltalk Python 85% Python influenced by Smalltalk OOP model
Smalltalk JavaScript 85% Brendan Eich cited Self (Smalltalk descendant) as influence
Java C# 85% C# influenced by Java's design
Java D 85% D influenced by Java's GC and module system
JavaScript Dart 85% Dart influenced by JavaScript ecosystem
Python Ruby 85% Matz cited Python as one influence
Python Julia 85% Julia creators cited Python as key influence
Python Nim 85% Nim syntax inspired by Python
Ruby Elixir 85% Elixir syntax inspired by Ruby
Ruby CoffeeScript 85% CoffeeScript inspired by Ruby syntax
Fortran Julia 85% Julia creators cited Fortran's numeric performance
C++ C# 85% C# influenced by C++ syntax
Oberon Go 85% Oberon influenced Go's module/package design
Erlang Rust 85% Erlang influenced Rust's actor-style concurrency model
Icon Python 85% Icon influenced Python's generators and string handling
Perl Python 85% Perl influenced Python's regex and string processing
Java Dart 85% Dart influenced by Java's class-based OOP
Simula Java 85% Java's OOP model traces through Simula lineage
Lisp Haskell 85% Lisp influenced Haskell's functional paradigm
Haskell Swift 85% Swift influenced by Haskell's type system
Pascal Nim 85% Nim influenced by Pascal's syntax
Lisp R 85% R's functional programming influenced by Lisp/Scheme
ALGOL 68 C 85% ALGOL 68 influenced C's structured programming
C Bash 85% Bash influenced by C's operators and syntax
Bourne Shell Perl 85% Perl influenced by shell scripting
BCPL Go 83% BCPL influenced Go via C lineage
Alef Rust 83% Alef influenced Rust's concurrency model
Rust Swift 83% Rust influenced Swift's memory safety features
Standard ML Python 83% Standard ML influenced Python's type concepts
Fortran C 83% BCPL and Fortran both influenced C's design
Groovy Kotlin 83% Kotlin influenced by Groovy's scripting capabilities
APL Julia 83% Julia's array operations influenced by APL
Haskell Kotlin 83% Kotlin's functional features influenced by Haskell
Smalltalk Groovy 83% Groovy influenced by Smalltalk's dynamic dispatch
Fortran COBOL 82% FORTRAN influenced COBOL's arithmetic and data handling capabilities
Pascal Go 82% Pascal influenced Go's declaration syntax
Limbo Rust 82% Limbo influenced Rust's concurrency design
Scheme Rust 82% Scheme influenced Rust's macro and metaprogramming system
Dylan Python 82% Dylan influenced Python's object model
Python Elixir 82% Elixir influenced by Python's readability
Ada Python 82% Ada influenced Python's exception handling model
Python Swift 82% Swift influenced by Python's readability
Ruby Julia 82% Julia influenced by Ruby's syntax expressiveness
Common Lisp Racket 82% Racket influenced by Common Lisp's practical features
ALGOL C++ 82% C++ traces structured programming lineage to ALGOL
Haskell TypeScript 82% TypeScript's algebraic types influenced by Haskell/ML
Go Crystal 82% Crystal influenced by Go's concurrency model
Racket Julia 82% Julia influenced by Racket's macro system
ALGOL 68 Python 82% ALGOL 68 influenced Python via Guido's Dutch computing tradition
COBOL PL/I 82% PL/I incorporated COBOL's data processing features
Lisp Scala 82% Scala's S-expressions and macros influenced by Lisp
Smalltalk Scala 80% Scala influenced by Smalltalk's uniform object model
JavaScript ReasonML 80% ReasonML targets JS ecosystem
Python CoffeeScript 80% CoffeeScript indentation inspired by Python
Python Groovy 80% Groovy influenced by Python syntax
Python D 80% D influenced by Python's expressiveness
Ruby Groovy 80% Groovy influenced by Ruby
Rust V 80% V influenced by Rust's safety concepts
Haskell F# 80% F# influenced by Haskell's functional patterns
C Ada 80% Ada influenced by C's systems programming
Lisp Julia 80% Julia uses Lisp-style macros
Smalltalk Go 80% Smalltalk influenced Go's interface system
Swift Rust 80% Swift and Rust mutually influenced each other
Elm Rust 80% Elm influenced Rust's functional style and error handling
Python Dart 80% Dart influenced by Python's optional typing
Ada Java 80% Java's checked exceptions influenced by Ada
Smalltalk CoffeeScript 80% CoffeeScript influenced by Ruby and Smalltalk's expressiveness
TypeScript Dart 80% Dart and TypeScript are contemporaries in typed JS space
APL Python 80% APL influenced Python's list comprehensions concept
Ada Nim 80% Nim influenced by Ada's systems programming features
Java PHP 80% PHP's object model influenced by Java
Lisp Tcl 80% Tcl influenced by Lisp's command structure
Scheme Elixir 75% Partial influence via macro system design
Pascal D 75% Pascal influenced D's module system
Ruby D 75% D influenced by Ruby's expressiveness
Objective-C C++ 75% Minor influence on C++ OOP model
Haskell CoffeeScript 70% Partial influence, lower confidence
Explore in Graph →