| I don't know if Perl or Python have true VMs. They have interpreters, but insofar as I know, they don't have full blown virtual machine architectures like Java or .NET, in the sense of being able to program directly against it a la assembly style.
Java is likely more portable than .NET (CLR) and it has JASM/Jasmin, which lets you do assembly programming against the JVM instruction set. I believe there is some sort of Java Embedded Edition, too, for small device support.
.NET is likely more useful if you'll be dealing mostly with Windows platforms, but I don't think it is very portable. It does have the Mono project, that is an Open Source port of the CLR to *nix and Mac platforms, but I don't know where it's at, really, or how well supported it is. .NET has the Compact .NET Framework, for developing on handheld devices. |