General
What is Swarm?
Swarm is a software framework designed to allow programmers to write software which runs across multiple computers in a convenient way. It is implemented in the Scala programming language.
Why are you using Scala?
The main reason is that Scala 2.8 supports PortableContinuations, which is actually a very rare feature in a programming language (not present in Haskell, Ruby, Python, Java, or C++).
Other advantages of Scala are:
- It compiles to Java bytecode, which means:
- Its fast (competitive with C, Haskell, and other compiled languages)
- It already has a large set of libraries
- It can run on almost any operating system
- Its concise, comparable to Ruby, much better than Java
- It supports functional programming constructs like closures
Did you know that there are other projects called "Swarm"?
Yes we did. We do not believe that 100% uniqueness is a prerequisite for a project name. Remember that the word "swarm" has been in use for over a thousand years, it wasn't invented by any software project!
Our opinion (born of painful past experience) is that it is better to have a good non-unique name than a bad unique name. Of course, if someone can suggest a good unique name, we'll give it serious consideration.
How about: Lattice, Honeycomb, Hot-Potato
How does this compare to Akka remote actors, especially if Jonas manages to implement code provisioning (i.e. not having to have your classes loaded on startup in the remote JVM)?