Java's success in remaining relevant on the ever-changing landscape of software development has been its relative simplicity.
On Wednesday, Oracle
celebrated the 20-year anniversary
of the birth of the Java programming language with a blitz of
marketing. Certainly the largely pre-Internet IT landscape was far
different when the language was introduced by Sun Microsystems (which
was purchased by Oracle in 2010). Yet Java has remained on the
development workbench when many other widely used languages of the
1990s, such as Delphi or Perl, have been pushed to the side or used only
for a select set of duties.
"The core values of the language, and the platform, are
readability and simplicity," said Mark Reinhold, Oracle's chief
architect for the company's Java platform group.
Today, you'd be hard-pressed to find programming languages
in as many corners of the computer industry as Java. It routinely tops,
or is near the top of,
surveys
of the most widely used programming languages. Oracle estimates that
the language is used by over 9 million developers and powers more than 7
billion devices.
It acts as the engine for both very small devices and the largest
cloud computing systems. Google uses the language as the basis for
programs that run on Android-based mobile devices. On the other end of
the spectrum, the Map/Reduce framework for the Hadoop processing
platform requires Java code to crunch petabytes of data.
Programmers like Java because, among other things, it is a very
readable language, compared to the thickets of dense code often produced
using languages such as C++ or Perl. "It is pretty easy to read Java
code and figure out what it means. There aren't a lot of obscure gotchas
in the language," Reinhold said.
Readability is a particularly valuable trait for a programming
language, especially one used for writing enterprise software, Reinhold
explained. With complex software, programmers must be able to understand
code that may have been written months, or even years earlier.
"Most of the cost of maintaining any body of code over time is in maintenance, not in initial creation," Reinhold said.
Other characteristics also have worked in Java's favor, Reinhold
added. One is Java's long-touted "write once, run anywhere," capability.
Because the code runs on the cross-platform
Java virtual machine,
developers can write a Java program on a Windows laptop, then run it on
a Linux or Solaris server without recompiling the code for the new
platform.
Oracle, and Sun before it, were also mindful about long-term
compatibility, which helps keep perfectly serviceable software running
for as long as possible. "Every time we do an update release, or a major
release, we, and the entire ecosystem, are strongly committed that old
applications will continue to work," Reinhold said.
For Al Hilwa, who covers software development for IDC, this
long-term support, along with the "methodical evolution" of the
language, is what gives Java its staying power.
"Using Java in Android was definitely something that has
extended its life as a valuable skill-set and good Oracle governance in
recent years has been helpful," Hilwa wrote in an e-mail. "The maturity
of the technology ... should not be underestimated, especially when
compared with the many dynamic languages that have become popular in
recent years, though have not been able to exceed Java's adoption rate."
Oracle continues to move the language forward with these goals in mind. For the next major version of the language,
Java 9, due in September 2016, the language's designers are reorganizing Java into a modular architecture.
The idea is to make Java more suitable for smaller devices,
such as the expected wave of Internet of Things devices. "We want to
subdivide it into modules so you can choose what you can use for your
application," Reinhold said.
Such work may be instrumental in keeping Java vital for the next 20 years of computing.
Joab Jackson covers enterprise software and general technology breaking news for The IDG News Service
. Follow Joab on Twitter at @Joab_Jackson. Joab's e-mail address is Joab_Jackson@idg.com
Comments
Post a Comment