digraph langchart { { rank = same; node [shape=hexagon]; v_bad [label="The language is total Garbage! Immediately dispose of!"]; bad [label="The language is bad!"]; acceptable [label="The language is acceptable"]; good [label="The language is good"]; v_good [label="The language is awesome!"]; } n_0 [shape=house, label="Is this programming language good?"]; n_1 [label="Is the language interpreted?"]; n_0 -> n_1; n_2 [label="Is the language used for embedded scripting?"]; subgraph cluster0 { label="Embedded Scripting"; n_4 [label="Is the language used for scripting in a very complex program such as a browser?"]; n_2 -> n_4 [label="Yes"]; n_5 [shape=parallelogram, label="Use VM language"]; n_4 -> n_5 [label="Yes"]; } n_2 -> v_bad [label="No"]; n_5 -> bad; n_4 -> n_6 [label="No"]; n_1 -> n_3 [label="No"]; n_1 -> n_2 [label="Yes"]; n_3 [label="Does the language have dynamic types?"]; n_6 [label="Does the language have whitespace-dependant Syntax?"]; n_3 -> v_bad [label="Yes"]; n_3 -> n_6 [label="No"]; n_6 -> v_bad [label="Yes"]; n_7 [label="Does the language COMPLETELY work on linux?"]; n_6 -> n_7 [label="No"]; n_7 -> v_bad [label="No"]; n_8 [label="Has the language been developed by Microsoft?"]; n_8 -> v_bad [label="Yes"]; n_7 -> n_8 [label="Yes"]; n_9 [label="Is the WHOLE Toolchain FOSS?"]; n_8 -> n_9 [label="No"]; n_9 -> bad [label="No"]; n_10 [label="Is the language transpiled to another?"]; n_11 [label="Do all targets of the langauge arrive at \"Bad\" in this test?"]; n_12 [label="Does the language only run in a VM?"]; n_9 -> n_10 [label="Yes"]; n_10 -> n_11 [label="Yes"]; n_10 -> n_12 [label="No"]; n_11 -> acceptable [label="Yes"]; n_11 -> v_good [label="No"]; n_13 [label="Does the language have a Garbage Collector?"]; n_12 -> n_13 [label="No"]; n_13 -> good [label="Yes"]; n_13 -> v_good [label="No"]; n_14 [label="What is the language used for?"]; n_12 -> n_14 [label="Yes"]; n_14 -> v_bad [label="CLI App"]; n_14 -> good [label="Embedded Scripting"]; n_14 -> v_good [label="Game Dev"]; n_14 -> acceptable [label="GUI App"]; }