Java is the foundation for virtually every type of networked application and is the global standard for developing and delivering embedded and mobile applications, games, Web-based content, and enterprise software. With more than 9 million developers worldwide, Java enables you to efficiently develop, deploy and use exciting applications and services.
From laptops to data centers, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!
Why Software Developers should Choose Java
Java has been tested, refined, extended, and proven by a dedicated community of Java developers, architects and enthusiasts. Java is designed to enable development of portable, high-performance applications for the widest range of computing platforms possible. By making applications available across heterogeneous environments, businesses can provide more services and boost end-user productivity, communication, and collaboration—and dramatically reduce the cost of ownership of both enterprise and consumer applications. Java has become invaluable to developers by enabling them to:
Write software on one platform and run it on virtually any other platform
Create programs that can run within a web browser and access available web services
Develop server-side applications for online forums, stores, polls, HTML forms processing, and more
Combine applications or services using the Java language to create highly customized applications or services
Write powerful and efficient applications for mobile phones, remote processors, micro controllers, wireless modules, sensors, gateways, consumer products, and practically any other electronic device
Reasons why Java is and will continue to be a strong choice:
Java is still the most popular language - and this means it has the most developers, most ongoing development, largest installed base etc. There is no sign of any sharp decline - if you look at the TIOBE trend for example it could easily continue to be No.1 for the next 10-15 years
Java, despite its flaws, is still an excellent language for developing enterprise applications. The fact that it is verbose and tends to promote a fairly standardized style of OOP development is a good thing when applications need to be maintained by many different developers over many years in a fairly standardized way. Smart CIOs realize this, which is why you won't see Java disappearing in the enterprise any time soon. BTW, and explicit goal of Java when it was created was that it should be "simple, object oriented, and familiar".
The success of languages is not just about the language itself, but around the ecosystem of libraries available for the language. In this respect, Java is second to none, with a massive array of open source and commercial libraries.
Performance - JIT compiled code on modern JVMs runs very close to optimized native code in terms of speed. In practice, this means that Java is typically one of the fastest language/implementation combinations available (see flawed benchmarks if you like). Anyone who thinks that Java is slow (or, for goodness sake, "interpreted") needs to update their facts from the last century.
Major corporate backing - Java is a strategic platform supported by many of the worlds largest and most important technology companies and organisations - we are talking about Google, Oracle, IBM, the Apache Software Federation etc. Java also has substantial support from major users of technology - banks, media companies etc. No other language/platform has such broad industry support (even if the players have the occasional tiffs :-) )
Android - is giving a major boost to Java in the mobile space. Lots of startups are targeting this, and it's not unreasonable to expect that mobile startups will also have good reason to pick Java on the server side as well.
Portability: Java is the closest thing in existence to a genuine cross-platform programming environment. It's on everything from high end servers to smartphones, and compiled pure Java code will run unmodified on all these platforms. Very few languages can say this with the same degree of credibility. Also as a bytecode language, Java has an inherent advantage in the library space because compiled libraries are inherently portable across platforms.
Excellent tools - Most of which are free and/or open source. Netbeans and Eclipse are great examples in the IDE space. Developers need good tools to be fully productive, so this is an important factor in language/platform choice.
Java is Open Source - Not going to go into why this is a good thing here, but suffice it to say that both a) the core Java implementation in the OpenJDK and b) most of the interesting Java libraries and tool are open source.
Java is not just a language, it's a platform: There are many promising languages on the JVM such as Clojure and Scala that represent the future of the platform on the language front. My prediction would be that the Java language continues to receive minor enhancements to features (JDK 7, 8 etc.) while these new JVM languages are where the cutting edge innovation will happen. But it is all part of the Java platform.