Java(dagger) is a programming language loosely related to C++. Java or
iginated in a project to produce a software development environment fo
r small distributed embedded systems. Programs needed to be small, fas
t, ''safe'' and portable. These needs led to a design that is rather d
ifferent from standard practice. In particular the form of compiled pr
ograms is machine independent bytecodes. But we needed to manipulate p
rograms is ways usually associated with higher level, more abstract in
termediate representations. This lets us build systems that are safer
less fragile, more portable, and yet show little performance penalty w
hile still being simple.