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

cheapest limo Akin .. Lockport Chicago limo O’Hare
In The News:

Tech expert Kurt “CyberGuy" Knutsson says using outdated computers and software leaves them vulnerable to security risks and malware.
Tech expert Kurt “CyberGuy" Knutsson reveals how WalkON enhances walking and jogging with sensors and artificial tendons.
Old-fashioned check fraud is back in style, quintupling over the past year. Here are a few low-tech, practical means of protecting yourself.
Tech expert Kurt “CyberGuy" Knutsson discusses how 600,000-plus records, including checks and property data, were left exposed online by an information service provider.
That weird text from a friend may actually be from a hacker. Kurt “CyberGuy" Knutsson tells you what signs to look out for.
Scammers can wreak havoc on your life just by having your phone number. Kurt "CyberGuy" Knutsson addresses how to avoid becoming a victim.
PongBot is an artificial intelligence-powered tennis robot and a smart training partner available to play 24 hours a day, seven days a week.
Kurt "CyberGuy" Knutsson explains how to update your iPhone to add Apple Intelligence, which he says can transform your interactions with your phone.
University scientists have trained a robotic surgical system to do work with the skill of human doctors, possibly transforming the future of surgeries.
As more companies implement artificial intelligence for daily tasks, some industry leaders are working to push back against certain aspects of the technology.
Tech expert Kurt “CyberGuy" Knutsson says the Batagaika crater in Siberia expands 35 million cubic feet yearly due to thawing.
While fewer than 30% of farmers reportedly use emerging technologies like artificial intelligence, experts believe AI could help producers and farmers make food quicker and more efficiently.
Amazon becomes a prime target of scammers during the holiday shopping season trying to steal Social Security numbers, bank information and Amazon credentials.
Spammers have found a way to target Spotify playlists and podcasts to push pirated software, cheat codes for games and spam links and malware sites.
Sharing information online like your vacation plans and relationship status can make you a target for scammers; here's what to avoid posting to keep yourself safe.
Stay up to date on the latest AI technology advancements and learn about the challenges and opportunities AI presents now and for the future.
Kurt "CyberGuy" Knutsson explores six sneaky holiday season gift card tricks, providing tips on how to outsmart scammers trying to rip you off.
Apple Watch's Translate app gives you your own personal interpreter, allowing you to have live two-way conversations in up to 20 different languages.
With kids facing a seemingly increasing amount of threats from creeps on the internet, here's how you can respectfully ask people not to post photos of your children on social media.
Tech expert Kurt “CyberGuy" Knutsson reveals how to regain your Facebook access if you get hacked or locked out.
Kurt “CyberGuy" Knutsson explains how to safeguard retirement accounts from cyber threats with a VPN: encryption, anonymity, secure access.
I’m going to Europe soon, and planning my trip was a breeze. Yes, really! AI did a big chunk of the work for me — and it can help you plan your next getaway, too.
Tech expert Kurt “CyberGuy" Knutsson says North Korean hackers hide malware in macOS apps, bypassing Mac security checks.
Kurt “CyberGuy" Knutsson reveals how iPhone’s new Automatic Mic Mode adjusts settings for optimal call quality automatically.
Jeff Hancock, an expert on AI and misinformation, has been accused of fabricating an expert declaration by citing a study that was allegedly made up by AI.

Crystal Reports For Microsoft RMS ? Overview For Developer/Report Designer

If you are software developer or database administrator - we... Read More

Corporate Accounting System: Microsoft Great Plains ? Overview

Corporate ERP/MRP selection might be tough one, especially considering very... Read More

Microsoft Great Plains Furniture & Fixtures ? Implementation & Customization Highlights

Microsoft Great Plains, former Great Plains Software Dynamics / eEnterprise... Read More

What is Groupware?

Vince Lombardi once said that, "The achievements of an organization... Read More

Free Software: How Not To Get More Than You Bargained For!

I completed an experiment recently. I wanted to find out... Read More

Lotus Domino/Notes - Microsoft Great Plains Tandem as ERP with Documents Workflow - Overview for IT

Lotus Domino/Notes ? Microsoft Great Plains tandem as ERP with... Read More

Can Group Collaboration Software Meet Business Needs?

According to a survey conducted by InfoTrends/CAP Ventures entitled "Content-Centric... Read More

How To Identify, Cure and Prevent Spyware/Adware Infections

Just when you thought you were Web savvy, one more... Read More

How To Develop Software For Your Business

Software development is a risky business.Many software developers are barely... Read More

DB Integration - Software for Combine MS Access Databases

Our company, Novaprof Inc., developed unique software - DB Integration.... Read More

Make 2005 the Year You Save Time!

Today's business world is fast-paced. No matter what it is... Read More

Microsoft Great Plains implementation: Restaurants Supply Chain Management Example

Microsoft Great Plains serves majority of US based horizontal and... Read More

Call Alert Notifications - Free Answering Machine Software for PCs

If you're online using a dialup Internet connection, you'll probably... Read More

Can You Calculate Complex Financial Calculations?

Are you a whiz at calculating financial information? Not the... Read More

Introduction To ISDN, Part II

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

Corporate ERP: Microsoft Great Plains For The Plant In Brazil ? Overview For CIO

Microsoft Business Solutions Great Plains as new ERP for multinational... Read More

Reporting Tools for Microsoft Great Plains ? Overview For Developers

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

7 Things to Consider Before Buying Small Business Accounting Software

The world of small business accounting software can be a... Read More

Think Of This

Think of this, first we had the HAM Radio, then... Read More

Microsoft CRM Implementation & Customization: MS CRM Fax Gateway

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

Microsoft Great Plains Reporting ? Overview for Developer

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

Microsoft Great Plains: Manufacturing or Bill of Materials - Overview for IT Specialist

Microsoft Great Plains is main Microsoft Business Solutions product, targeted... Read More

Why Java RDBMS?

It is a well known fact that Java as a... Read More

Removing Incoming Email in MS Exchange, C# Example

The purpose of one of our projects was MS Exchange... Read More

Review of TikiWiki Content Management System

TikiWiki is open source software - it is written in... Read More

Aledo wedding limo ..