Win a copy of Mastering Corda: Blockchain for Java Developers this week in the Cloud/Virtualization forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Paul Clapham
  • Ron McLeod
  • Bear Bibeault
  • Liutauras Vilda
Sheriffs:
  • Jeanne Boyarsky
  • Tim Cooke
  • Junilu Lacar
Saloon Keepers:
  • Tim Moores
  • Tim Holloway
  • Stephan van Hulst
  • Jj Roberts
  • Carey Brown
Bartenders:
  • salvin francis
  • Frits Walraven
  • Piet Souris

disadvantages with java

 
Greenhorn
Posts: 16
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
there are a lot of advantages with java/j2ee technologies, I would like to know disavantages of this language.

Thanks in advance
 
Ranch Hand
Posts: 62
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Manisha

This is a very broad question and I think this would depend on context.

For example, a disadvantage in a company may be that it has a lot of microsoft systems and developers - why would you use J2EE? You might do, but if you do you would have to know why. What did J2EE solve that you couldn't solve another way? What about system integration? Who will build and maintain the code? What about tooling?

Even when you justify the use of J2EE, you might also consider the benefit of using some J2EE technologies, such as EJB. EJB may not be appropriate in a small system, but could be in a high volume, highly transactional system.

I guess what I am really saying is that the solution is driven by the problem being solved. Java/J2EE might be one way of solving it, but it won't be the only way, and there will be times when it is inappropriate.

Ultimately the decision to use a technology is an architectural one with many different drivers that will differ from project to project, company to company.

Hope this helps

Ramen
 
(instanceof Sidekick)
Posts: 8791
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Java does not give you direct access to hardware and OS specific APIs. That's a disadvantage to some categories of programs.
 
Ranch Hand
Posts: 60
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Java is four letters when most languages are three. example: c++
 
Ranch Hand
Posts: 1078
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
COBOL, FORTRAN, Perl, Basic, SmallTalk, Lisp... most languages are 3 letters?
 
Ranch Hand
Posts: 1847
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
A, B, C, C#, J#
 
author
Posts: 14112
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Originally posted by Jeroen T Wenting:
A, B, C, C#, J#



Not to forget D and E...
 
Greenhorn
Posts: 24
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Stop joking guys, come to the point....
programs written in Java language runs on a virtual machine, it runs somewhat slowly compared to other programs.
But in todays fast computers that can be neglected
 
Ranch Hand
Posts: 139
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
check this is out.
[ May 16, 2006: Message edited by: faisal usmani ]
 
Sheriff
Posts: 11343
Mac Safari Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
See this thread.
 
Author
Posts: 836
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Java does not give you direct access to hardware and OS specific APIs. That's a disadvantage to some categories of programs.

This is true in general, but Sun and other third parties are striving to provide JNI or similar interfaces to allow such access... take JavaSound: there's a Java abstraction on top of the native OS hardware communication, but you can still do practically everything you can with a C/C++ application (but in a much more elegant way). Same with the addition of some classes in the Image I/O which make use of graphics cards and their hardware acceleration.

Another new example of this (which I only found out about a couple of weeks ago) is the addition of the java.lang.Process and ProcessBuilder classes which enable you to start and control processes directly in the OS (outside the JVM)... this is incredibly useful, and prior to J2SE 5.0 would have most likely required a native driver program.

So Java does have a few limitations, but on the whole I find I never need to go elsewhere. The fact that I can compile on my Windows PC and upload to my Linux server without even having to tweak the code is fantastic! Coupled with a good IDE, this puts Java development times below many other languages. At the same time Java EE means you have the flexibility not only to create dynamic Web pages (as you can with CGI, PHP, ASP etc.), but you also have the power of an entire OO architecture (and all the Java APIs) behind you, as well as managed EJBs at hand. What more could you want?

For me, it's usually only a choice between using Java, or programming a microcontroller/processor unit directly (for speed or in development of new hardware).
 
Ranch Hand
Posts: 33
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
1. It is slower than most programming languages (ex. compare Java to c++)
2. It takes up a lot more system resources & memory

Those are the biggest disadvantages to Java, but yet again, it works for any platform that has the Java virtual machine. Gotta sacrifice something for mega compatibility.
 
Ranch Hand
Posts: 1923
Scala Postgres Database Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Originally posted by Justin Tom:
1. It is slower than most programming languages (ex. compare Java to c++)


How can a language be slow or fast?
To read? To develop with?
The compiler?
Generated code, executed by the JVM?
Wouldn't that depend on the programs task, on the implementation, on the machine used to execute it?
After writing the code, there are - depending on the language - different ways to optimize code by compilerflags.
Since the process of optimization is so different from language to language - it's really hard to describe a setting for a fair comparision.
You may write a for-loop with the same symbols in c++ and java, but will that lead to a fair test?
It might look fair, but is it of much value?

And 'most languages' is c++? That's just one language.

Most languages include 'Ada, Pascal, Prolog, C#, qbasic, vb, lua, Smalltalk, python, perl, php, c, eiffel, Assembler, ...' - most of them are faster?

Originally posted by Justin Tom:
2. It takes up a lot more system resources & memory


More than?

Well - since most stuff is implemented by the jvm most java-Programs are pretty small.
 
marc weber
Sheriff
Posts: 11343
Mac Safari Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Originally posted by Justin Tom:
1. It is slower than most programming languages (ex. compare Java to c++)...


As I suggested in the other thread I linked to above, lingering misconceptions are perhaps the biggest disadvantage Java has today. Especially perceptions of it being slow.
 
Ranch Hand
Posts: 257
Hibernate Firefox Browser Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Originally posted by Manisha reddy:
there are a lot of advantages with java/j2ee technologies, I would like to know disavantages of this language.

Thanks in advance



Every thing will have its own pros and cons and java is not exceptional.
Better we make use of java for better purpose.

Thank you.
 
What does a metric clock look like? I bet it is nothing like this tiny ad:
the value of filler advertising in 2020
https://coderanch.com/t/730886/filler-advertising
reply
    Bookmark Topic Watch Topic
  • New Topic