The Monsters of NODOI can be categorized in four categories:
Programmer monsters
e.g. Box Programmer (more TBD – PHP Programmer, JavaScript Programmer?)
The Programmer monsters in NODOI represent us: they are the programmers who write the instructions, and are generally 1:1 with programming languages. Programmer monsters employ other monsters in order to express the instructions, and each programmer monsters has a specialty. Programmers of languages that are similar to each other e.g. JavaScript and PHP, will share some of the same qualities.
The Box Programmer, i.e. an HTML/CSS Programmer, at work.
Abstract monsters
e.g. Stack, Queue, DFS, BFS, DAG, and Function Machines
Abstract monsters represent language-agnostic concepts in computer science that can be employed by Programmers and are implemented using programming languages. For example, the Stack monster looks like a Stack monster, but the implementation of a stack data structure in JavaScript vs. in C++ will look a bit different, but they do the same thing.
The Stack monster represents the stack data structure.
Domain-specific monsters
e.g. DOM monster
Domain-specific monsters represent platform-specific systems that determine limitations in programming in certain contexts. Domain-specific monsters are closely related to Abstract monsters, but they have qualities that are specific to their Domain.
Syntax monsters (?)
e.g. (don’t have these yet – maybe Colon & Semicolon, Curly, Crabhands, Parens, The Operators, etc.)
Syntax monsters are the tokens – i.e. keywords and characters – in programming languages. Any given Syntax monster may be used any number of programming languages, but they are not guaranteed to behave the same way across programming languages.
What about Semantics monsters?