Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Top 10 Reasons to Still be Using Java

According Dr. Noam Chomsky, every language that exists today is a modification of something
before it. Java evolved from C++, which evolved from C, which evolved from BCPL and B. 

The brainchild of James Gosling, Java (1995) survived the vicissitudes of time and technology
and still reigns supreme in the realm of programming languages. When it was first weaned, Java
garnered the attention of the business community. Many programming languages have since
been inspired by it and have crept slowly into the market, but the domain of Java still remains
intact and expanding. There can be hundreds of reasons for such phenomenal interest among the
programmer community. Here are just ten of them, not in any particular order.

1 – The Two Edged Sword is Sheathed

Java allayed a key problem of C/C++, pointers. Though a pointer is a very powerful mechanism, it has a
very bad reputation of injecting bugs in the code unless one is very careful while coding. In this age of
rush, there is an obvious trend to produce code that is highly productive while lessening the headache of
maintenance. Java seems to deliver the need of this age.

2 - An Efficient Janitor

Java has its own garbage collector. This means programmers need not worry about any dangling
reference of objects while coding. Neither does one has the headache of specifically deallocating
memory once any object reference goes out of scope. One might argue that using a garbage
collector to free memory, takes the control away from the programmer, and can leave you
wondering when the garbage collector will intervene to free up the unused space. Experience
shows that chaos rarely breaks when unused memory is occupied, and there is little free space to
left for new allocation. The garbage collector intervenes at appropriate times, unless however,
some bad coding is done such as the following:

//...
for(int i=0;i<n;i++)
{
            Integer num=new Integer(i);
            //...
}
//...

3 - Wish Tree, Just Ask What You Need

What type of application do you need? Java likely has a framework for that! Do you need a
simple desktop application? If so, then you can use Java Swing or JavaFX. Do you need an
online web or enterprise application? You can use Servlet and/or JSP EJB. Do you need a
database  application? You can use JDBC, Hibernate and so on. The list of application types is
nearly unending. In a word, Java is affluent, rich in providing almost every need of the
programmer.

4 - Thriving Community

There is immense Java-centric community to help the programmer in need in most mission
critical situations. Blogs, articles, code snippets, name it. Remember the help wizard that pops up
in Windows, eager to provide hints and suggestions? The Java community has built many such
wizards. Inherently, programmers are those breed of trouble seekers, always looking for ideas,
and problems that excites their gray cells and eager to help, offer suggestions to one another
through numerous blogs, forums, etc.

5 - Help at Large

Java is rich in API documentation, concept articles, tutorials, sample codes. Apart from that,
there are several books available covering almost every nook and corner of Java. Many of them
are freely downloadable. Though not an ideal way of learning, I suppose if every documentation,
tutorial, article is followed one do not even need a hard copy of materials to learn Java.

6 - Open Source and Open to New Ideas

Java is open source and free. That leaves its door open to variety of changes and modifications.
Expert communities regularly make changes such as building new frameworks to ease trouble
for programmers. Frameworks like Hibernate, and Spring are Java’s burning example.

7 - Write Once, Run Anywhere

Perhaps the most obvious yet exciting quality of Java is its platform independence – write once
and run anywhere. The Java compiler does not create an executable file, but rather it produces a
half compiled code, called bytecode. This half compiled code is given to the JVM (Java Virtual
Machine) installed in a specific platform (aka operating system). JVM is a layer above the
operating system that understands bytecode and processes that code further in order to run the
application. Something like half chewed cud ruminated further by the JVM to bring forth the
essence of actual Java code.

8 - Tools and IDE

There are numerous tools, IDE available for efficient coding in Java – Eclipse, Netbeans,
Jdeveloper, etc. There seems to be a race among them to outsmart the other with respect to the
availability of features and ease of use. Programmers reap the best benefit out of it. Many of us
get excited each time a new feature is added to our favorite IDE. There are also several thriving
third party communities that provide excellent tools, adapters, and add-ons to enhance the
performance of the developer.

9 - Miles to Go
Java communities never stopped enhancement and modification. From the time of James Gosling
till now Java has evolved tremendously; the revamp of JavaFX, introduction of Lamda,
introduction of Dependency Injection, etc., and many more yet to come. The Java community is
not only open to suggestion but also open to participation and contribution as well. This has a
tremendous impact in the mind of programmers, designers, and architects who can easily
associate with Java and feel a kind of oneness with the technology.

10 - Three Pillars

Java succeeded to a large extent in creating balance between portability, speed and security.
These three are the most essential pillars to support modern programming languages. Many of its
predecessors failed in this aspect. For example C/C++ programs are very efficient with respect to
speed, and portability but have poor security. Many of its loopholes can be easily exploited,
tweaked to inject insecure code. Java runs through several layers and does not have a direct
access to the underlying operating system. This however compromises speed but ensures
reliability. So a happy balance among the three is often more desirable than one exceptional
feature.

Apart from many other features, the above ten are crucial in shaping the future of Java in years to
come, I believe. Once you code in Java for a few years, I have one thing to say – you'll simply
love it.

Do you have other reasons why Java is still the programming to be using? Let us know or share
them in the comments on this article!

You might also like