View Single Post
  #39  
Old 2005-08-02, 10:28 AM
Cowboy Bob
 
Re: Your thoughts about Azureus please

Quote:
Originally Posted by Five
Java compiles to bytecode meaning that what you get when you compile a java program is not understandably by any computer. There is an intermediary, the Java run time Environment, that relays signals from the program to the computer. This allows for easy cross platform compatibilty, but comes with an overhead.

^^written by my gf

p.s. compies to bit should have read compiles to bytecode. oopsie!
Not true exactly. Yes there is an intermediate step in that the program is compiled to bytecode rather than native code. But, when the Java Virtual Machine is started up, the bytecode is compiled to native code on the fly and optimised using the Just In Time technique.

This means two things:-

1) Initial start-up time is increased
2) The final running program can be faster than native code since it will be compiled at runtime to your specific system

Given that, anything that runs slowly or uses up too many resources is not very well written. This can be true in any language, but is often preceived to be more true in Java since the barriers to entry to Java programming are much lower than other languages (free compilers, easy syntax etc) - hence anyone can and does have a go at it. Therefore, I'd argue that these "bad programs" are as much to do with its success rather than anything else.

It is a fallacy that the bytecode is interpreted as your description implies above. It is true that that was once the case, but it has been untrue since Java 1.2.

E-Bay runs 100% on Java based systems, yet it is one of the highest traffic websites in the world, and doesn't suffer performance problems because of it.

Bob
Reply With Quote Reply with Nested Quotes