Why develop software in Java?

Posted on February 13th, 2008 in Java Software Development by declanshanaghy

The Java programming language has, within the last 10 years, become the de facto standard for developing portable applications, and interactive dynamic content for websites.

Portable

Java is not compiled into a native executable. It’s classes are compiled into an intermediate binary format which is in interpreted (or sometimes JIT compiled) by a JVM at runtime. This makes Java class files portable across a multitude of Operating Systems and JVMs. This enables the “write once, run anywhere” paradigm. The most obvious choice of JVM is produced by Sun Microsystems, also the inventor of the language. Class files can be packaged in JAR, WAR or EAR files for deployment to your chosen environment.

Scriptable

Once your framework is in place, it’s nice to be able to plug in and out modules which can perform tasks for you without having to recompile your code. The scripting interface in Java 6 provides this powerful capability

Version 6 of the Java Platform, Standard Edition (Java SE), does not mandate any particular script engine, but it does include the Mozilla Rhino engine for the JavaScript programming language. The Java SE 6 platform implements the java.script APIs, which allow you to use script engines that comply with JSR 223. The web site scripting.dev.java.net hosts an open project to maintain several script engines that conform to JSR 223. The site also links to engines maintained elsewhere. You can learn more about the the embedded JavaScript technology engine by visiting the Mozilla Rhino web site.[1]

Community

The Java community is immense, extremely interactive and actively contributing to Open Source initiatives. Other languages will tie you into an expensive proprietary solution. The Apache Software Foundation is a prime example of just one, huge, community of Java projects and developers.

Choices

Along with an active community come nearly unlimited choices in terms of JVMs, IDEs, web development frameworks and build environments. Here are just a few of each with my favorite marked by*

IDE

Web development Frameworks

Development Environment

References

[1] - http://java.sun.com/developer/technicalArticles/J2SE/Desktop/scripting/

Post a comment