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
| From | To | Confidence | Notes |
|---|---|---|---|
| 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 |