X Tutup
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Devaka Cooray
  • Jeanne Boyarsky
  • Paul Clapham
  • Tim Cooke
Sheriffs:
  • Ron McLeod
Saloon Keepers:
  • Tim Holloway
Bartenders:

Why Java is Still Popular for Software Development

 
Greenhorn
Posts: 4
1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hello everyone,

Many new programming languages are emerging, but Java is still one of the most popular languages in the software industry. Here are a few reasons why Java continues to be widely used.

1. Platform Independent
Java follows the concept “Write Once, Run Anywhere.”
This means Java programs can run on any system that has the Java Virtual Machine (JVM).

2. Object-Oriented Programming
Java is based on OOP concepts like:

Classes

Objects

Inheritance

Polymorphism

These concepts help developers build large and maintainable applications.

3. Secure Language
Java provides strong security features like:

Bytecode verification

Secure memory management

No direct pointer access

This makes Java suitable for banking systems and enterprise applications.

4. Large Community Support
Java has a huge developer community. If you face any problem, you can easily find solutions online.

Conclusion
Because of its security, portability, and reliability, Java is still widely used for web applications, Android apps, and enterprise software.

What do you think about Java’s future? Do you think it will continue to dominate programming?
 
Bartender
Posts: 1182
20
Mac OS X IntelliJ IDE Oracle Spring VI Editor Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Simply put the Spring Framework.    

Various Java technologies (IMHO) was often over engineered in the past, but Spring simplfied everything.  Thinking of Enterprise Java Beans in particular those horrid Entity Beans.  
Being too critical I starting to think Java has become like an "old school bus that takes everyone, everwhere".  This was originally said about the old cobol language.      

Write Once, Run Anywhere. - Write anywhere, test everywhere!

Also Java does not have true multiple inheritance or operator overloading (C++), which is a good thing.  

It also has many functional programming features, but not a true functional language.    
 
Saloon Keeper
Posts: 29101
215
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
One of the signal strengths of Java was the development of the POJO - the Plain Old Java Object.

As Sun originally envisioned them, there were indications that toolkits would be available to allow Java development to be done DDD-style (Drag, Drop, Drool), similar to efforts such as those by Microsoft. But for whatever reason, that concept was never actively pursued.

Enterprise JavaBeans, on the other hand, were horrible in large part because they were not POJOs. They were extremely delicate and could only be used in limited environments. Sun realized their error and future efforts such as EJB3 and JavaServer Faces were designed to be POJO-based.

However, as this was happening, third-party frameworks with similar ideals were being developed. Spring is arguably the best-known of them. At its core, it provided a central factory for POJOs - plus had the ability to source many types of non-POJO pbjects. Then they leveraged that by adding module families such as Spring Data until a complex but very usable ecosystem had emerged.

EJB had its own redeeming moments, the greatest of which was the fact that you could subset it and use the Java Persistence Architecture part in virtually any runtime environment. And in fact, Spring Data can itself leverage that via the Spring JPA module which I have used for many a successful project.

Spring did have another virtue over the original EJB at least, which was that it was purported to provide better persistence transaction management. As to whether that still applies or not, I cannot say, since I've never needed them myself.

Java retains its popularity because it has always enjoyed the support of Big Business. It offers better security than almost any other language, good performance, lots of libraries from both commercial and open-source offerings and - from a business standpoint - has one of the best "future-proofing" capabilities around. What made me give up in disgust on Microsoft languages more than anything was that a program you ran last week might not execute at all this week, as their tools were constantly mutating with little-to-no legacy support. Java, on the other hand has marked the Day(month, day, year) constructor as deprecated for probably 2 decades or more and the worst that will happen if you use it anyway (old code, of course, you'd never use it in new code, right?) is that the compiler will whine at you. And that's not even considering the backwards-compatibility computer and runtime options.

It's possible that in another Universe, we might be saying this about the Ada programming language, instead, but Ada came out around 5 years before Java and it made similar demands on hardware, though the hardware of the day was less capable. I took an Ada course around 1989 and the load it put on a mid-sized IBM mainframe just to compile was about what I got compiling Fortran on a 4MHz Z-80 microcomputer.

But there's a lot to like about Ada despite its relative lack of popularity and anyone interested in exploring can use the "gnat" system available on most PC platforms.
 
Tim Holloway
Saloon Keeper
Posts: 29101
215
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Incidentally, I would not say that Java is "ideal" for banking and financial systems.

The Common Business Oriented Language (COBOL) is, for all its clunky verbosity about the best suited of all popular languages for straight bookkeeping. Possibly also Ada, but I know of no Ada financial apps, so that's moot. For that matter, C++, but I wouldn't if I were you.

The key feature that makes COBOL better for general banking is its support for the COMPUTATIONAL-3 data type (as IBM styles it). COMP-3 represents data in Binary-Coded Decimal (BCD) form.

BCD offers the convenience of rapid conversion to/from display characters and both the IBM mainframes from System/360 onwards and virtually all microprocessors have hardware support for BCD arithmetic.

BCD, unlike floating-point, offers exact precision when dealing with fractional dollars/euros/whatever. So for adding up bank statements, it's the better way to go. Only when you get into the higher levels such as interest rate calculations and amortizations would you use floating-point in banking.

Java does have a class for supporting big decimal numbers, but compared to COBOL it's very clunky. There is no decimal-number primitive data type corresponding to COBOL's COMP-3 nor do math operators apply, so everything has to be done via brute-force method calls as opposed to the simpler COBOL "ADD MONTHLY-RECEIPTS TO CURRENT-BALANCE" syntax.
 
reply
    Bookmark Topic Watch Topic
  • New Topic
X Tutup