Multi-agent programmable modeling environment, particularly suited for modeling complex systems over time. It is designed by Uri Wilensky and used extensively in educational contexts and research.
Statically typed language supporting both object-oriented and functional programming, known for addressing Java's criticisms and supporting concurrent, distributed systems.