|
|
|
|
|
by ksaj
1038 days ago
|
|
Have you seen the adult version? It's called NetLOGO and comes in both 2D and 3D forms. It is used for multi-agent modeling, which makes it ideal for things like the flocking algorithm that has multiple points all doing their own things based on a small set of rules. https://ccl.northwestern.edu/netlogo/index.shtml |
|
- focus on agent-based modelling (feels more like a DSL to me)
- lexical scoping of local variables and inputs instead of dynamic scoping
- no “word” data type (similar to symbols in Lisp) - instead, NetLogo uses strings in most cases where words would be used in Logo
- control structures (if, while, etc.) are special forms instead of ordinary functions
- NetLogo is a Lisp 1, while Logo has been a Lisp 2 (separate namespaces for values and functions)
See http://ccl.northwestern.edu/netlogo/docs/programming.html#co... for a more detailed comparison.
Despite its educational focus and reputation as a language for children, UCBLogo (a dialect of Logo from 1992 intended for being a “minimum Logo standard”) seems to be quite advanced and also has some “adult” features (partially derived from its Lisp heritage), such as higher-order functions, eval & apply, recursion, anonymous functions (or rather something similar called “templates”) and macros.
However, NetLogo feels more like a modern version of Logo without some of the weird/unfamiliar stuff (like dynamic scoping and words). It is heavily used and taught at https://www.complexityexplorer.org , so if anyone is curious enough I recommend taking a look at their free courses/tutorials such as “Fundamentals of NetLogo” or “Introduction to Agent-Based Modeling” - they are probably the best resources out there to learn NetLogo.