We already know which languages were created by PPCG users. Clearly language authors are inspired by each other and by existing practical languages. What are these relationships?
Looking for something like this.
We already know which languages were created by PPCG users. Clearly language authors are inspired by each other and by existing practical languages. What are these relationships?
Looking for something like this.
Using the format of Webgraphviz. Links to pages about the languages can be found on TIO.
# non-PPCG languages are lightgrey, non-languages are white
# PPCG languages are not colored for simplicity
# this has the effect of making PPCG be languages with a border
digraph PPCGGenealogy {
nodesep=0.5
ranksep=1.5
node [style=filled]
rankdir=LR
";#" -> ";#+"
";#" -> Commentator
"///" -> ReRegex
"05AB1E" -> "2sable"
"05AB1E" -> Anyfix
"05AB1E" -> Oasis
"05AB1E" -> Ohm
"05AB1E" -> SOGL
"><>" -> Jellyfish
"><>" -> Klein
"><>" -> Minkolang
"><>" -> Vitsy
"><>" -> Keg
APL -> "Dyalog APL"
APL -> J
APL -> K
APL -> MATLAB
APL -> Mathematica
Assembly -> Sesos
Assembly -> Speedcoding
Assembly -> QFTASM
Attache -> Tidy
Axo -> Alice
Basic -> "S.I.L.O.S"
Befunge -> "><>"
Befunge -> Alice
Befunge -> Hexagony
Befunge -> Minkolang
Befunge -> TacO
Befunge -> Vitsy
"Bourne Shell" -> "Röda"
BrainFlak -> "fλak"
BrainFlak -> BrainFlueue
BrainFlak -> FlakCats
BrainFlak -> Klein
BrainFlak -> Miniflak
BrainFlak -> PainFlak
BrainFlak -> "Sad-Flak"
BrainFlakClassic -> BrainFlak
Brainfuck -> "Brian & Chuck"
Brainfuck -> "Turtlèd"
Brainfuck -> BrainFlakClassic
Brainfuck -> Fourier
Brainfuck -> MarioLANG
Brainfuck -> Numberwang
Brainfuck -> Sesos
Brainfuck -> Vitsy
Brainfuck -> ezFuck
Brainfuck -> RoboCritters
Brainfuck -> Flipbit
Brainfuck -> Commentator
Brainfuck -> "Bitwise Fuckery"
Bubblegum -> "Cinnamon-Gum"
C -> Java
C -> Mathematica
C -> Perl
C -> Preproc
C -> Python
C -> Swift
C -> shortC
C -> COGOL
Charcoal -> Canvas
CJam -> Gaia
CJam -> Noether
CJam -> RProgN
CJam -> TacO
CJam -> Orst
COGOL -> "QFTASM-lang"
compression -> Bubblegum
"Conways Game of Life" -> QFTASM
"Conways Game of Life" -> COGOL
"Conways Game of Life" -> "QFTASM-lang"
Deorst -> Orst
"Dyalog APL" -> RAD
"Dyalog APL" -> "QuadR"
"Dyalog APL" -> "QuadS"
"Dyalog APL" -> "Stencil"
Fourier -> Noether
"Fuzzy-Octo-Guacamole" -> Loopy
GolfScript -> CJam
GolfScript -> GS2
GolfScript -> Noether
GolfScript -> O
GolfScript -> Sclipting
GolfScript -> Orst
Haskell -> Husk
Haskell -> Rutger
Hexagony -> Cubix
Hexagony -> Klein
Hexagony -> Triangular
J -> "Dyalog APL"
J -> "J-uby"
J -> GS2
J -> I
J -> Jelly
J -> Jellyfish
J -> Joe
J -> M
Japt -> Jolf
Java -> Glava
Java -> Python
Java -> ReRegex
Java -> Verbosity
JavaScript -> Bean
JavaScript -> Cheddar
JavaScript -> Japt
JavaScript -> Jolf
JavaScript -> TeaScript
Jelly -> Anyfix
Jelly -> Gaia
Jelly -> Jellyfish
Jelly -> M
Jelly -> Ohm
Jelly -> RAD
Jelly -> Seriously
Jelly -> TacO
K -> O
K -> RAD
Klein -> Lost
Labyrinth -> Cubix
"lambda calculus" -> Haskell
"lambda calculus" -> Unlambda
"lambda calculus" -> fλak
Lua -> JavaScript
Lua -> RProgN
logic -> Stackylogic
"mathematical notation" -> APL
"mathematical notation" -> Brachylog
MATLAB -> MATL
MATLAB -> Octave
MATLAB -> Tidy
Mathematica -> Attache
Mathematica -> Mthmtca
O -> Jolf
Octave -> MATL
Ohm -> Gaia
Orst -> Geo
PCRE -> "Dyalog APL"
PCRE -> Grime
PCRE -> ReRegex
PCRE -> Retina
Perl -> "A Pear Tree"
Perl -> Element
Perl -> JavaScript
Perl -> PCRE
Perl -> Python
Perl -> Ruby
Perl -> "Röda"
Prindeal -> Addict
Prindeal -> Shtriped
Prolog -> Brachylog
Prolog -> Mathematica
Pyth -> Jolf
Pyth -> O
Pyth -> Pyke
Python -> "A Pear Tree"
Python -> Bubblegum
Python -> JavaScript
Python -> Oasis
Python -> Pyke
Python -> Pylons
Python -> Pyth
Python -> Ruby
Python -> "QFTASM-lang"
Python -> Tidy
QFTASM -> COGOL
Basic -> QBIC
R -> Tidy
RISC -> Prindeal
RISC -> Shtriped
RISC -> "99"
RISC -> QFTASM
Retina -> Grime
Retina -> ReRegex
Ruby -> "J-uby"
Ruby -> Cheddar
Ruby -> Wren
Scheme -> "Pyramid Scheme"
Scheme -> JavaScript
Scheme -> K
Scheme -> Lua
Scheme -> R
Seriously -> Actually
ShapeScript -> Changeling
Shtriped -> "$htriped"
SOGL -> Gaia
SOGL -> Canvas
Stackcats -> FlakCats
Speedcoding -> Basic
Speedcoding -> C
Surface -> Triangular
Swift -> Cheddar
V -> "Turtlèd"
Verbosity -> Rutger
Vim -> "Turtlèd"
Vim -> V
"Whispers v1" -> No
"Whispers v1" -> Uno
"Whispers v1" -> "Whispers v2"
"Whispers v2" -> No
"Whispers v2" -> Uno
No -> Uno
Uno -> No
Woefully -> "Sad-Flak"
Wren -> W
"///" [color=lightgrey]
"><>" [color=lightgrey]
APL [color=lightgrey]
Assembly [color=white]
Axo [color=lightgrey]
Basic [color=lightgrey]
Befunge [color=lightgrey]
"Bourne Shell" [color=lightgrey]
Brainfuck [color=lightgrey]
C [color=lightgrey]
compression [color=white]
"Conways Game of Life" [color=white]
Haskell [color=lightgrey]
J [color=lightgrey]
Java [color=lightgrey]
JavaScript [color=lightgrey]
K [color=lightgrey]
"lambda calculus" [color=white]
logic [color=white]
Lua [color=lightgrey]
MATLAB [color=lightgrey]
Mathematica [color=lightgrey]
"mathematical notation" [color=white]
Octave [color=lightgrey]
Ohm [color=lightgrey]
PCRE [color=white]
Perl [color=lightgrey]
Prolog [color=lightgrey]
Python [color=lightgrey]
R [color=lightgrey]
RISC [color=white]
Ruby [color=lightgrey]
Scheme [color=lightgrey]
Speedcoding [color=lightgrey]
Surface [color=lightgrey]
Swift [color=lightgrey]
Vim [color=lightgrey]
Wren [color=lightgrey]
}
# this comment somehow removes errors
As of 2018-09-05 @ 1:59 (UTC):
Historically, the oldest languages are:
Then around 2015 an explosion started and nowadays there are a few dozen of golfing languages. It's thus reasonable to assume that languages that followed 2013-now
at least have some relationship to one of those three - most likely to GolfScript because the other two aren't really as widely known and GolfScript is featured in the Wikipedia article about codegolf.
They inspired other people to design their own golfing languages and might have drawn a few people into esoteric programming languages to begin with. GolfScript2 was clearly inspired by GolfScript and GolfScript2 was the first "officially" esoteric one afaik that actually said "screw ASCII" and this inspired other people to try to map as many instructions into a 8bit encoding.