File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Java in General and the fly likes JAVA limitations!! Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark "JAVA limitations!!" Watch "JAVA limitations!!" New topic

JAVA limitations!!

Ambar Tyagi

Joined: Sep 06, 2006
Posts: 1
Hey can anybody tell me what type of applications java can never be used for or shud not be used for!!!
Pradeep Kadambar
Ranch Hand

Joined: Oct 18, 2004
Posts: 148
Hi Ambar,

I would just like to say that 'Googling' is a better option to get answers for this type of questions.

Ranch can be well used to get answers that requires bridling 'Java'.
Daniel Gagnon

Joined: Aug 27, 2006
Posts: 13
Anything that's highly platform dependant. Java is inherently multi-platform and you'll have great pains to tie your code to a specific platform.
Dana Bothner-By
Ranch Hand

Joined: Jul 28, 2006
Posts: 37
I keep reading dark warnings about not using Java to control nuclear power plants or airplanes. What's up with that?
Ulf Dittmer

Joined: Mar 22, 2005
Posts: 42965
Originally posted by Dana Bothner-By:
I keep reading dark warnings about not using Java to control nuclear power plants or airplanes. What's up with that?

Two reasons I can think of off the top of my head are 1) that Java (or rather, the current crop of JVMs) is not a real-time system, mostly due to the delays that can happen due to GC, and 2) that Java has not seen the kind of QA you'd want in a system on which lives depend.
Campbell Ritchie

Joined: Oct 13, 2005
Posts: 46397
Welcome to the Ranch.
As people have said, anything platform dependent. For things like operating systems you would require access to the numbers which represent memory locations (called pointers), which is impossible in Java.
For nuclear power plants, aircraft controls, etc, people tend to use programming which has a very small "footprint," ie fewer kB in the whole code than there are MB in Java, because (as Ulf Dittmer says), intensive testing is much easier on a small language.
I have a friend who works in railway signalling etc, and he told me once they got a PC and put a "cut-down version of Linux" on it, which occupies about 15kB, so there was so much less to test for reliability.
Dave Casman

Joined: Sep 12, 2006
Posts: 6
Originally posted by Dana Bothner-By:
I keep reading dark warnings about not using Java to control nuclear power plants or airplanes. What's up with that?

If you're using the SDK from Sun, then it should be pretty obvious why you can't use Java to control nuclear power plants. When you downloaded the SDK you had to accept their license agreement. To quote:
You acknowledge that Licensed Software is not designed or intended for use in the design, construction, operation or maintenance of any nuclear facility.

Since most of us do get Java from Sun, we clearly cannot use Java to control or operate nuclear power plants. It has nothing to due with whether Java is suitable for the job. It flat out is not allowed.
Robert Hill
Ranch Hand

Joined: Feb 24, 2006
Posts: 94
It is not allowed because it is not suitable. They didn't put that in the license for no reason. Like was already said Sun's JVM is not a real time system(ecessary for safety systems) and hasn't been thoroughly tested enough to be dependable enough when critical and life-threatening functions are needed.

Another thing that Java could never be used for(unless large changes are made) is in embedded devices. I am not talking about cell phones either. There are many devices being developed that couldn't even come close to fit the ME JVM, Which is why C will rule the embedded market for some time to come. Not only is it smaller, there are compilers for far more platforms in C then Java. So Java is also obviously not suitable where a JVM is non-existant.

There are other things that Java generally isn't used for, but could be. Game programming is one. Java can be used to write intensive 3D games, with openGL or DirectX, and is being done more and more, but likely won't overtake C and C++ as languages for games. It isn't used for a myraid of reasons, some legit and some not.
I agree. Here's the link:
subject: JAVA limitations!!
It's not a secret anymore!