Or just write
them in BASIC. Everyone knows BASIC, and despite best
efforts, its not going away.
I would pick ANSI C. It is not going away either, has a formal standard,
and if coded properly (not straying from the ANSI standard), will be
portable.
May a standards group visit both your houses! (Ancient Swiss curse.)
Java is the closest thing we've got today to an architecture-neutral
executable environment. The Java machine is very well documented, and the
environment has goodies like a GUI and networking defined as well.
Neither BASIC nor C nor anything else today has those things going for it.
Most of the simulators written today are being distributed as Win95
executables. Forty years from now, if your kids are faced with writing a
Win95 emulator before they can run the Edsac emulator, they will lose
interest in the Edsac before you can say "convoluted API".
-- Doug