Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why would you choose the Java programming language over others? [closed]

Tags:

Why would you choose java over others? Why did you choose java to program your application?

Please include what you are using java for (desktop application/ web application/ mobile).

like image 414
alsadk Avatar asked Oct 16 '08 17:10

alsadk


2 Answers

  • Excellent tooling: IDE, CI, etc.
  • Vast array of 3rd party libraries.
  • Huge amount of documentation available.
  • Large pool of developers available.
  • Platform ubiquitous.
  • Excellent performance.
  • Excellent specification.
  • Sturdy garbage collection.
  • Managed memory.
  • Native threads.
  • Choice - implemented by multiple vendors.

I have used Java to build various middle-ware products: Inventory mgmt; CMS; chemical registration; etc.

like image 198
johnstok Avatar answered Nov 01 '22 17:11

johnstok


One of the nice things about Java is that everyone knows it. Of course, now that I've said that, I'll get 80 comments from people claiming to have never learned the language. Be that as it may...

Like it or not, Java is the closest thing to a lingua franca (the idiom means "common language") we have in the industry today. Just about every has either used Java at some point, or (more commonly) is actively using it now. That sort of ubiquity can be extremely attractive to some companies, particularly those reliant on consultants. If you start a project in Java, you're pretty much guaranteed to be able to find talent to maintain the code base for years down the road.

On a different tack, Java is an excellent language for developing cross-platform desktop applications...it's just that nobody knows it. Most of Java's dominance is on the server side coupled with a little bit of love from the J2ME crowd. However, if you objectively consider Swing in Java 6uN, it's hard to find a better tool for the job. Don't get me wrong, I see that it has its flaws, but many of those have been fixed in recent releases. Most of the issue now is mindshare: everybody knows that Java is slow and ugly (neither of which is strictly true anymore). The other problem is that Swing is very much a cross-platform UI toolkit. This means that it is inherently much harder to create professional UIs in Swing than in Cocoa or even WinForms.

Finally, a really great reason to pick Java (as opposed to .NET or Objective-C) is the ecosystem. Other answers have mentioned libraries, which really deserve a significant spotlight; but I'm thinking specifically of the rising language diversity. If you write an application in Java today, you can seamlessly transition to Scala at any time. You also have the option to do scripting in Groovy or JRuby, not to mention taking advantage of the powerful concurrency abstractions in Clojure. Because of its portability and high-level nature, the JVM is increasingly the preferred target for language compilers and interpreters (even more than the CLR). Java is really at the center of that nexus, not really benefiting directly from the vast cloud of languages which swarm around it, but certainly deriving value from all of the interoperability, present and future.

like image 38
Daniel Spiewak Avatar answered Nov 01 '22 17:11

Daniel Spiewak