Both systems have their uses. If the thing must walk through a fire, then having a human inside is not a good idea.
On the other hand, if it is trying to dig out a person that has been buried alive in an earthquake or landslide, a human operator can use his senses directly (specially things like smell or sense of equilibrium that are hard to transmit remotely) and do a better job.
Don't fret - these things are all coming back from the dead:-)
Check out Squeak Smalltalk or Self (now also on the Mac besides Sparc machines). Even GNU Smalltalk has come back from the dead and will be getting great JIT technology real soon now.
OO? Microkernels? All nice things to have (since the 1960s, in fact, see Hydra->AS/400 on this page). But people more interested in the future might want to check out "reflective OSes".
Aperios is the name of Sony's OS for that robot dog. I had a link to it but now it seems to be broken. It is just an evolutions of Apertos (the OS formally known as Muse).
I particularly recommend the paper "The Muse Object Architecture: A New Operating System Structuring Concept" (number 24 on this page) for a good comparison of the various ways to design an OS.
In Self 2.0 (back in 1991) they got half the speed of C for highly numerical benchmarks. On conventional processors, that is as far as a language like Self or Java can go.
C, C++ and Fortran get their speed by not including safety features:
checking that indexes are within array bounds
checking that math ops don't overflow/underflow and so on (automatically converting numbers to larger representations if they do
they have pointer math so you can index faster in loops, at the risk of generating nonsense pointers
On a very different topic, I haven't seen any mention of memory usage. A dynamic compilation system only has to generate code for that parts of the program that are actually used, while a static compiler must generate code for everything. In the first case you lose some memory for the compiler itself and some more to have the "source" available at runtime. But the fact that you can use the rest for just part of the program means you can be very agressive in inlining and loop unrolling compared to the static compiler and this could result in faster code.
The Squeak Smalltalk system is available for many different platforms, including Linux. I use its included browser, called Scamper, when I want to look at sites with Flash. It doesn't handle tables or frames, but I expect that to change soon.
I think that Dan Ingall's Smalltalk-72 implementation, first for the Nova and then for the Alto, is certainly one of the top hacks of all time.
You can try a Smalltalk 72 emulator that runs in Squeak Smalltalk. But remember that this is a hack, so don't expect it to be either easy to run or to understand.
Tunes is an attempt to build an advanced OS around proof of correctness and other such concepts. They have a nice review of other OSes and languages, so their site is worth visiting just for that.
Merlin is my own project for a reflective, object-oriented systems (I now call it Self/R, but this web page is a bit outdated...).
Ted Kaehler has some interesting comments on the excelent book "The Cerebral Code" (which is available online). Ted calculated the capacity of the typical human cortex at 500 terabytes. While I don't agree with the way he did it or with his result, it is worth lookin into this.
You can use StarLogo to create complex simulations and study neat things like chaotic systems and emergent behavior.
Though Squeak Smalltalk is the best cross-platform development system I know, it has some problems which may (or may not) make you not consider it:
This last "problem" also means that the other problems might soon be solved...
Both systems have their uses. If the thing must walk through a fire, then having a human inside is not a good idea.
On the other hand, if it is trying to dig out a person that has been buried alive in an earthquake or landslide, a human operator can use his senses directly (specially things like smell or sense of equilibrium that are hard to transmit remotely) and do a better job.
Don't fret - these things are all coming back from the dead :-)
Check out Squeak Smalltalk or Self (now also on the Mac besides Sparc machines). Even GNU Smalltalk has come back from the dead and will be getting great JIT technology real soon now.
OO? Microkernels? All nice things to have (since the 1960s, in fact, see Hydra->AS/400 on this page). But people more interested in the future might want to check out "reflective OSes".
Aperios is the name of Sony's OS for that robot dog. I had a link to it but now it seems to be broken. It is just an evolutions of Apertos (the OS formally known as Muse).
I particularly recommend the paper "The Muse Object Architecture: A New Operating System Structuring Concept" (number 24 on this page) for a good comparison of the various ways to design an OS.
In Self 2.0 (back in 1991) they got half the speed of C for highly numerical benchmarks. On conventional processors, that is as far as a language like Self or Java can go.
C, C++ and Fortran get their speed by not including safety features:
On a very different topic, I haven't seen any mention of memory usage. A dynamic compilation system only has to generate code for that parts of the program that are actually used, while a static compiler must generate code for everything. In the first case you lose some memory for the compiler itself and some more to have the "source" available at runtime. But the fact that you can use the rest for just part of the program means you can be very agressive in inlining and loop unrolling compared to the static compiler and this could result in faster code.
The Squeak Smalltalk system is available for many different platforms, including Linux. I use its included browser, called Scamper, when I want to look at sites with Flash. It doesn't handle tables or frames, but I expect that to change soon.
Squeak, including Scamper, is 100% open source
I think that Dan Ingall's Smalltalk-72 implementation, first for the Nova and then for the Alto, is certainly one of the top hacks of all time.
You can try a Smalltalk 72 emulator that runs in Squeak Smalltalk. But remember that this is a hack, so don't expect it to be either easy to run or to understand.
--Jecel
I'll add two suggestions to those already given:
-- Jecel
Ted Kaehler has some interesting comments on the excelent book "The Cerebral Code" (which is available online). Ted calculated the capacity of the typical human cortex at 500 terabytes. While I don't agree with the way he did it or with his result, it is worth lookin into this.