Originally posted by Thomas Paul:
It depends on what you are doing. Need to process huge byte arrays over and over again. C will kick butt over Java because C has no boundary checking (among other things). Of course, the C program is more likely to contain boundary errors. (A friend of mine had to do this for an image manipulation project he was working on. The Java program took about 4 weeks to run and the C program took about 4 days.)
That's correct - most people still think that Java is slower because it is interpreted. In fact, when it's slower it's most often because of inbuild security checks other languages are missing.
Notice, though, that the modern Hotspot Engine is able to remove some of those checks (as array boundary checks), if its analysis shows that it can't happen.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus