Another problem with the early implementations of Java is that they do not always interpret Java programs in the exactly the same way. This is usually the result of implementation bugs rather than fundamental disagreements over the semantics of Java programs. Nevertheless, the dream of a fully machine independent language is not quite realised at this point of time. Java developers would be well advised to thoroughly test their applets on a variety of platforms before assuming that their code is workable on most computers. Java is also limited to a considerable extent by the need for stringent security measures.
Internet users are already very aware of the dangers of downloading software into their computers.
Untrusted software can contain viruses which intentionally cause damage or annoyance. Downloaded programs can also collect private information from a user's file system and transmit that back over the network. Of course, such software can also do inadvertent damage. It is the wise Internet user who downloads software only from those sources which are believed to be reputable and careful with the software they offer. For this reason, extreme restrictions have been placed on Java programs.