History of Java

The java programming language is becoming more and more popular each day. It is the language without which one cannot even hope to a land a job these days. But has somebody even wondered how this language came about? There are many stories about, many books have been written. Here is my version (not approved by Sun Microsystems).

The java programming language originated in Indonesia. It was meant to be used by the tourists that visit that country each year. Why would tourists want to use computer? Well, these are no ordinary tourists. They are rich tourists. Have they not been rich, they would not travel half way around the world to visit this place. Most people would be content to see just what is available near by. For example, if you are a texan living in Dallas, you will visit the stockyards or may be the trinity river park. If you live in New Orleans area, you would see st. mary's bayou. Once in your lifetime, one will probably visit Hawaii or Niagara. But going to Indonesia and its islands, Bali, Java, etc is not for the ordinary people. Anyway, coming back to the question why these tourists need to use computer programs. They go there not just to have fun and also get some work done in a fun atmosphere as these people are very important people.

From the very start java was supposed to be computer independent. That means if you write a program in java in one computer, it should run in all computers. This was necessary because tourists bring all kinds of computers with them. Some bring Windows machine, some Apple mackintosh. Some of the affluent ones bring Sun server workstations or even a super computer.

Before starting to create java they also sought to see if there have similar stuff done already. Even though they could find none, they found they can use lots of feature from some existing laguages. One such language they found was C++. C++ was an advancement over the language called C. In fact, ideas of C++ was already hidden in C. In that language, one can increment a variable, say i, by applying the ++ operator e.g. i++. This would increase the value of the variable i by one. If i had a value of 5, it would make it 6, etc. What a vision!

Anyway, coming back to C++, it made an important advancement over C by introducing the idea of a class. To understand class, one has to undestand structure which was already used in C. The structure is a group of variables. For example, you have a name, an address, age etc. for any person. In stead of using them separately, in C one can group them together and call it a person. The creator of C++ said there is no need to expose these variables (name, address, etc) to the outside world. They said these details should be hidden from the outside world. They called this concept encapsulation.

Another important contribution of C++ was the concept of inheritence. This concept can be best explained by example. Let's go back to the example of the person. A person is very general concept. There can be many different kinds of persons, e.g doctors, lawyers, teachers, or just a bum! But each of these people have a name, an address, age etc. Even a bum has all these. The creator of C++ thought one can define a base class call person and other classes can be derived from it. In plain english, this would mean, a doctor is special kind of person, lawyer is another special kind of person. Now the common attributes of all these kinds of people can be put in the person class and special attributes can be put in the derived classes, e.g. hospital for the doctor, court for the lawyer, and nothing for the bum.

But C++ was still complex with things like pointers, memory leak and multiple inheritence. The pointer concept was taken from C and it was very messy! The pointer is special type of variable that points to other variables. Since there was no guidelines as to how to use these pointers, it was very easy loose track of them. In a typical two thousand lines program, one would frequently end up with hundredes of pointers pointing to thousands, some of them are pointers and some just plain variables. Needless to say this made a large program extremely difficult to read and when the programmer left for another company, they would have no other choice than to just throw away his program! It was sometimes necessary to do this even when the programmer was around and very much alive. This is because the pointers he created inside his program had taken a life of their own and defy every attempt to predict how the program should behave. Memory management was also another weak point of C and C++. The programmer was responsible for cleaning up the memory their program would allocate and use. Failure to do so will result in a crash of the whole computer.

Multiple inheritence, though sparingly used, was another feature of C++ which made a programmer's life miserable. It, however, had its use, especially in job interviews. This one question, they thought, helped them separate the wheat from the chaff.

But C++ still had some nice and simple features, like inheritence, encapsulation, etc. They are something one can describe in plain english, something one can explain to a layman. So the creator of java decided to take the good features of inherience, encapsulation, and polymorphism from C++, while discarding the bad features such as multiple inherience, pointers etc. The memory management was improved in java where the programmer will not be held responsible for memory management. They can clean up after themselves if they want to get extra credit, but they do not need to. Needless to say all these was great news to the tourists in Indonesia!

Java introduced lot of clarity in notations too. For example, in C++ they would say class doctor:person to mean doctor is derived from person. It is obviously very cryptic. The same situation can be expressed in java as class doctor extends person , which is much easier to understand. But there are few awkward stuff in java too especially when someone says class bum extends person (my last bum joke)!

Java made an important contribution in the graphical user interface (GUI) area. C++ was really lacking in expertise here. They visual C++, but worked only on windows environment. But it did not work in UNIX systems or mackintoshes. Just like other features of java, this was also supposed to be platform independent. This was further necessary because one can put some little GUI on a web page which can be views over the internet. And one cannot control what kind of computers other will have.

After a while, it was necessary to call programs from one computer to another computer. To do this, they created J2EE. I am not sure how they came up with the name J2EE. The 'J' of J2EE, of course, means "Java", and I can be reasonably sure '2' stands for 'To'. But I do not know what the 'EE' part is all about, probably some kind of extension. Or at this point they ran out of names to think of. So they decided to have one of those just another vague acronyms.

If you would like, you can also visit my home page.

Copyright ? 2003 Gautam Dev. All rights reserved

scheduled maid service Northbrook ..
In The News:

A third-party dental marketing agency's unsecured database exposed millions of patient profiles with personal information that could be exploited for identity theft and insurance fraud.
New York-based Aircela unveils refrigerator-size device that converts air and water into fossil-free gasoline, with initial deployments planned for 2025.
Your home address is easily accessible on people finder sites, putting you at risk for stalking and identity theft, but data removal services can help protect your personal information.
Stay up to date on the latest AI technology advancements and learn about the challenges and opportunities AI presents
Robot combat evolves at Unitree's Iron Fist King event as G1 robots face off in China, featuring knockouts, precise strikes and agile machines that can perform side flips.
Take control of your digital privacy with actionable tips like Facebook privacy checkup, location tracking management and data removal services to protect your personal information.
Smart TVs and streaming devices manufactured in China are being compromised by BadBox 2.0 malware before users even power them on; infections have been detected in 222 countries.
The lightweight, 15-pound Tenniix tennis robot mimics pro playing styles like Nadal and Federer, using AI trained on 8,000 hours of professional tennis data.
Oak Ridge's uranium enrichment facility supports America's AI ambitions amid concerns that China's aggressive nuclear reactor construction could give it an edge in powering data centers.
Facebook scam ads now leverage AI and deepfakes to create convincing celebrity endorsements, targeting specific demographics with sophisticated schemes.
Apple unveils iOS 26, macOS 26 Tahoe and iPadOS 26 with translucent Liquid Glass design at WWDC 2025, featuring ChatGPT integration as competitors advance rapidly.
The Atom Touch prosthetic arm combines an AI neural interface with EMG sensors, allowing amputees to control individual fingers with precision at an affordable $25,000.
Aspen officials aim to have crews on the scene within five minutes — something they say would be nearly impossible without precise location data the AI technology gives.
Tech expert Kurt “CyberGuy" Knutsson says iPads are usually secure, but hackers can access them. Spot warning signs early to protect your data.
Tech expert Kurt Knutsson reveals how to easily move photos and videos off your iPhone or Android to securely protect your favorite moments.
The Social Security Administration is launching digital SSN access this summer. Tech expert Kurt “CyberGuy" Knutsson helps you learn how to use it and protect your identity.
Glide underwater with CudaJet and make the ocean your playground. Kurt “CyberGuy" Knutsson discusses the redesigned tech that might be your next big thrilling adventure.
Protect yourself from login alert scams with five security steps, including avoiding suspicious links, checking account activity and enabling two-factor authentication
Skip the usual Father's Day gifts with personalized ideas for tech enthusiasts, home brewers, pool owners, seniors, outdoor lovers and privacy-conscious dads.
DMV text scam alert: Fraudsters impersonating motor vehicle departments nationwide are sending threatening messages about unpaid tickets and tolls to steal your information.
Fox News' AI Newsletter brings you the latest on this rapidly evolving technology.
E-BAR, MIT's mobile robot, provides physical support for seniors with handlebars that follow from behind, helping prevent falls while maintaining dignity for aging adults.
AI is changing everything – now, we can even use it to generate video. I tried OpenAI's Sora and Google's Veo – here's how they measure up against each other.
Five simple phone setting tweaks that make your device work harder for you, from automatic text message deletion to scheduled focus modes.
Android users can save time with 10 simple automations, including automatic battery saver mode, location-based Wi-Fi settings and scheduled "Do Not Disturb" mode.

Reporting for Microsoft Great Plains/Dynamics/eEnterprise: RW ? ReportWriter ? Tips for Developer

Microsoft Business Solutions Great Plains is written in Great Plains... Read More

Algebra Help Software

Need help making sense of algebra? Have algebra lectures in... Read More

.NET :Solving the Multiple Inheritance Issue Under .NET Platform

.NET platform does not support multiple inheritance. Do not confuse... Read More

Performance Tuning of a Daffodil DB / One$DB -JDBC Application

This article illustrates the best practices to improve the performance... Read More

Benefits of Integrating Online Chat Software with CRM

Customer Relationship Management (CRM) is a strategy and processes used... Read More

Lotus Domino: Application Integration ? A Programmer View

There are two approaches for application integration:? Programmer's approach ?... Read More

Five Reasons for Using an O/R Mapping Tool

So, why should you use any O/R mapping tool? I... Read More

Choose your Java Wisely

Java has come along a long way. Many would agree... Read More

An Easy Way to Develop JAVA Enterprise Applications

Research bears that less than 70 percent of development projects... Read More

Microsoft CRM Implementation & Customization: MS CRM Fax Gateway

With this small article we are continuing Microsoft Business Solutions... Read More

Crystal Reports for Microsoft Great Plains

Microsoft Business Solutions ? Great Plains is designed to meet... Read More

International Support - Microsoft Great Plains VAR/Partner Selection ? Overview for V.P. IT

Looks like Microsoft Great Plains becomes more and more popular,... Read More

The Truth: Netzero 3G

We've all seen the ads on TV for Netzero 3G.... Read More

Internet Faxing Service Review

The Internet is reshaping every form of communications medium, and... Read More

Great Plains Bill of Materials Setup & Customization for Process Manufacturing ? Overview

Microsoft Great Plains has full-featured Manufacturing suite of modules: Capacity... Read More

Introduction To ISDN, Part II

In the previous ISDN article, we looked at how and... Read More

The Tools and Features of Adobe Photoshop

Adobe Photoshop is one of the world's leading graphics editing... Read More

Passwords Used In Microsoft Word Documents

You would like to protect your documents, wouldn't you? Reasons... Read More

Preventive Maintenance Software Companies

Several software companies design programs for preventive maintenance. Most of... Read More

Microsoft CRM Implementation ? Fundamental CRM Principles Revision

Microsoft CRM is relatively new player on the now becoming... Read More

Great Plains Dynamics on Pervasive/Ctree support ? overview for consultant

All of us know that Microsoft bought former Great Plains... Read More

Device Driver Basics

Most people understand that the "hardware" part of their computer... Read More

Guide to Software Marketing

Intro This concise article will tell you in plain English... Read More

The Opera Alternative

Security flaws have long plagued Internet Explorer (IE), the market-dominating... Read More

Downloading Spyware Removers: Think Before, not After

Just imagine: you are walking, say, towards your car, and... Read More

reliable maid service Highland Park ..