DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
  1. DZone
  2. Coding
  3. Java
  4. A Passionate Defense of Java's Virtues

A Passionate Defense of Java's Virtues

Mitch Pronschinske user avatar by
Mitch Pronschinske
·
Jan. 27, 13 · Interview
Like (0)
Save
Tweet
Share
7.78K Views

Join the DZone community and get the full member experience.

Join For Free
Originally authored by John G. Spragge

Well, that was quite a pile on, wasn't it? Just along one thread about the Java™ programming language, we get a number of solid reporters and a couple of "gurus". The reporters explain the facts about the current vulnerability in one Java sub-system; the "gurus" mount an all out attack on Java. I have three observations here:

  1. Blaming a language for the things people express with it amounts to lunacy. Java is an efficient, powerful language; people do things with it. And given the nature of human beings, some people will do bad things. After Bernie Madoff went to jail, nobody suggested the government should take steps to discourage accounting or economics.

  2. In a neighbourhood afflicted by a string of burglaries, the headlines do not read: Locks Fail in Leaside. Every story about an "exploit" should, at least in passing, lay the blame with people who take advantage of that security flaw to harm or extort other people. Journalists need to continually remind us, and themselves, that if we live in the network version of Hobbes's war of all against all, we do so because of choices specific people have made.

  3. On the subject of war: our governments have evidently decided to take their conflicts into our living rooms, work places, children's schools, power plants and hospitals by making "cyber war". Those governments answer to us. I expect the people now hounding Oracle for "security flaws" to at least mention the truth: government preparations to make war on the net don't threaten us because of Java; they threaten us because war is a dangerous habit.


I have a simple plea: let us not lose sight of the many innovations of Java. Working with Java, I and many other programmers first encountered an integrated approach to coding and documentation through JavaDoc. Java offered the first and still some of the best facilities to integrate a flexible programming language and the W3C xml language. Above all, Java integrated the language and support routines, and in the process instituted and enforced coding standards. Languages such as c and c++ have no rules and standards for identifiers: Java does. Any reasonably skilled programmer who knows Java conventions can read a Java application source and have a pretty good chance of understanding it.

With c or c++ or some other language that does not provide a common naming scheme, a programmer must first learn the naming conventions in use, assuming the program has a common set of naming conventions. Java designers also eliminated header files, that separated declaration from implementation and left c and c++ sources fragmented. Java eliminated the distinction between pointers, references, and in-scope object declarations that complicates c++ code. Java offers the simple rational structure of packages, classes and interfaces, and the rule that every public class should have its own source file, and that file should have the name of the class it contains. These simple intuitive rules, coded into the structure of the Java language, did a huge amount to propagate consistently good program design practise. Given the advantages of Java for systems construction, it should surprise nobody that that it powers so much of the web we take for granted.

Java gives the web Apache Tomcat, the Glassfish application server and many other important server-side systems, and its contribution to structuring good system design, much the way Algol and Pascal helped promote the structured programming approach taught by Edsger Dijkstra has helped the growth of the practical computing systems that power the web.

On one level, I simply ask users and decision makers to ignore hysteria, step back, and weigh the advantages of Java against its security problems rationally. It makes sense for people to turn off Java applet interfaces that make computers vulnerable. It makes no sense to try to eliminate the language completely because of a problem in one of its systems. And it makes less than no sense to get rid of Java to prevent intrusions that might cost a few million dollars if the costs of getting rid of this language run into the billions. But whether the calls for the elimination of Java reflect merely frustration with the slow pace at which Oracle hardens the language against intrusions, or whether it reflects the desire of a few writers on security to force programmers and enterprises to do what they have failed to persuade us to do, it is simply unacceptable to ignore the contribution the designers of Java have made.

Java (programming language)

Published at DZone with permission of . See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • The Importance of Delegation in Management Teams
  • How and Why You Should Start Automating DevOps
  • Writing a Modern HTTP(S) Tunnel in Rust
  • Why It Is Important To Have an Ownership as a DevOps Engineer

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: