flowchart TD A[Is this programming language good?] --> B([Is the language interpreted?]) I --> |No| Bad{{The language is bad, dispose of immediately!}} I --> |Yes| J([Is the language used for scripting in a very complex program such as a browser?]) J --> |Yes| K[\Use VM language\] --> Bad J --> |No| D B --> |Yes| I([Is the language used for embedded scripting?]) B --> |No| C([Does the language have dynamic types?]) C --> |Yes| Bad C --> |No| D([Does the language have whitespace-dependant syntax?]) D --> |Yes| Bad D --> |No| E([Does the language COMPLETELY work on linux?]) E --> |No| Bad E --> |Yes| F([Is the WHOLE Toolchain FOSS?]) F --> |No| Bad F --> |Yes| G([Has the language been developed by Microsoft?]) G --> |Yes| Bad G --> |No| N([Is the language transpiled to another?]) N --> |Yes| O(["Do all targets of the langauge arrive at #quot;Bad#quot; in this test?"]) N --> |No| H([Does the language only run in a VM?]) O --> |Yes| Ok O --> |No| VGood H --> |Yes| L([Is the language used for embedded scripting?]) H --> |No| M([Does the language have a Garbage Collector?]) M --> |Yes| Good{{The language is good}} M --> |No| VGood{{The language is awesome!}} L --> |No| Ok{{The language is acceptable}} L --> |Yes| Good