Question

Lets say I wanted to create some software that models a society. People exist, meet, have children, learn, share experiences etc. Which programming language should I use?

I would assume that a dynamic language that enables me to swap out methods and/or implement types at run-time would reduce the amount of plumbing that i'd otherwise have to create in a statically typed language. Am I correct?

Was it helpful?

Solution

In my earlier question I mentioned Repast, Swarm, and MASS as agent-based modeling frameworks. They are useful tools to model societies of agents.

OTHER TIPS

try designing the interaction model first, then choosing a language. Paper prototypes for feasibility might be instructive as well. If you haven't done the design, it is wildly premature to select the implemenation platform and language.

Sounds like ruby. Dynamic, Swap out methods. Here are some of the feature ( from Wikipedia )

  • Object-oriented, "everything is an object"

  • Five levels of variable scope: global, class, instance, local, and block

  • Exception handling

  • Iterators and closures (based on passing blocks of code)

  • Native, Perl-like regular expressions at the language level

  • Operator overloading

  • Automatic garbage collecting

  • Highly portable Cooperative

  • multi-threading on all platforms using green threads

  • DLL/Shared library dynamic loading on most platforms

  • Introspection, reflection and metaprogramming

  • Large standard library

  • Supports dependency injection

  • Supports object runtime alteration

  • Continuations and generators

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top