Welcome to Java Land

Java the Untold Story: the Man, the Place, the Drink, the Language.

Java Documentation

Applet Examples

Learn Java On-line

General Information

"Let me tell you the rest of the Java story..."

Java Man

Java man was a type of prehistoric human who lived about 1 million to 500,000 years ago. All evidence of Java man's existence comes from fossil remains of floppy disks containing Java bytecode found in ancient stream and volcanic deposits on the island of Java.

The fossils of Java man show that these people (Yes there was Java girl, Java boy, and even Java mom) had a large face with a low, slopping forehead and heavy ridges above the eyes. These were believed to have evolved to cut down glare from computer monitors. They had a large jaw and huge teeth, which were always found stained with Java.

Java man probably stood slightly more than five feet tall, but bone fragments indicate that Java people spent most of their life sitting -- hunched over a keypad input device. Their brain was smaller than that of more modern types of human beings even though they had lots of classes. They had a thick skull and seldom listened to talks about languages other than Java.

Java Island

Java, the most heavily populated island of Indonesia, has 2,100 people per square mile, and every one of them knows what Java is. Java is also the most industrialized island in Indonesia and contains most of the large cities including the capital Jakarta, which has its share of cafes to drink Java.

An east-west mountain range reaching 10,000 feet high extends across Java. These mountains contain many volcanoes, some active, some in Thread.sleep(). The island is covered with thousands of small farm villages and given that Java is the third largest producer of coffee in the world, many of these farms grow Java.

Java Drink

Coffee is the favorite hot drink in almost every country in the world. The United States ranks as the largest consumer of coffee. The coffee break has become an integral part of the business world. Each morning and afternoon, millions of workers pause for a few minutes to do some work and then return to their coffee breaks -- talking and sipping Java.

More than a hundred kinds of coffee are sold in the United States. They are divided into three general groups: Brazils, Milds, and Instant. The Milds include our favorite kind -- Java.

Java contians caffeine, a substance that allows programmers to stay up all night surfing for cool applets of Java.

According to legend, coffee was discovered in Ethiopia by goat hearders when they noticed that their flocks never slept after eating coffee leaves. Coffee reached Arabia in the 1200's and comes from the Arabic word that means "make mine black." Before its use as a beverage, Java was a food, then a wine, and then a medicine. Coffee moved from Arabia to Turkey during the 1500's to escape taxes, and to Italy in the early 1600's. Java is thought to have been carried to America in the 1660's by infected computer mice. In the early 1990's the Oak development team at SUN Microsystems were inspired on a trip to the local coffee house and renamed their computer language Java.

I'll drink to that!

Java Language

It is a little known (or bragged about) fact that Java was origninally desiged to run household appliances. Here is how it all began...

Once upon a time, in a sunny kingdom not far from here, King Gosling summoned two of his advisors for a test. He showed them both a shiny metal box with two slots in the top, a control knob, and a lever. "What do you think this is?"

One advisor, an engineer, answered first. "It is a toaster," he said. The king asked, "How would you design an embedded computer for it?"

The engineer replied, "Using a four-bit microcontroller, I would write a simple program that reads the darkness knob and quantizes its position to one of 16 shades of darkness, from snow white to coal black. The program would use that darkness level as the index to a 16-element table of initial timer values. Then it would turn on the heating elements and start the timer with the initial value selected from the table. At the end of the time delay, it would turn off the heat and pop up the toast. Come back next week, and I'll show you a working prototype."

The second advisor, a computer scientist, immediately recognized the danger of such short-sighted thinking. He said, "Toasters don't just turn bread into toast, they are also used to warm frozen waffles. What you see before you is really a breakfast food cooker. As the subjects of your kingdom become more sophisticated, they will demand more capabilities. They will need a breakfast food cooker that can also cook sausage, fry bacon, and make scrambled eggs. A toaster that only makes toast will soon be obsolete. If we don't look to the future, we will have to completely redesign the toaster in just a few years."

"With this in mind, we can formulate a more intelligent solution to the problem. First, create a class of breakfast foods. Specialize this class into subclasses: grains, pork, and poultry. The specialization process should be repeated with grains divided into toast, muffins, pancakes, and waffles; pork divided into sausage, links, and bacon; and poultry divided into scrambled eggs, hard-boiled eggs, poached eggs, fried eggs, and various omelet classes."

"The ham and cheese omelet class is worth special attention because it must inherit characteristics from the pork, dairy, and poultry classes. Thus, we see that the problem cannot be properly solved without inheritance. At run time, the program must create the proper object and send a message to the object that says, 'Cook yourself.' The semantics of this message depend, of course, on the kind of object, so they have a different meaning to a piece of toast than to scrambled eggs."

"Reviewing the process so far, we see that the analysis phase has revealed that the primary requirement is to cook any kind of breakfast food. In the design phase, we have discovered some derived requirements. Specifically, we need an object-oriented language with inheritance and let's not forget security. Of course, users don't want the eggs to get cold while the bacon is frying, so multithreading is required, too."

"We must not forget the user interface. The lever that lowers the food lacks versatility, and the darkness knob is confusing. Users won't buy the product unless it has a user-friendly, graphical interface. When the breakfast cooker is plugged in, users should see a cowboy boot on the screen. Users click on it, and the message 'Booting Solaris v. 8.3' appears on the screen. (Solaris 8.3 should be out by the time the product gets to the market.) Users can pull down a menu and click on the foods they want to cook."

"Having made the wise decision of specifying the software first in the design phase, all that remains is to pick an adequate hardware platform for the implementation phase. An Intel 80386 with 8MB of memory, a 30MB hard disk, and a VGA monitor should be sufficient. If you select a multitasking, object-oriented language that supports inheritance and has a built-in GUI, writing the program will be a snap. (Imagine the difficulty we would have had if we had foolishly allowed a hardware-first design strategy to lock us into a four-bit microcontroller!)."

The king smiled broadly as he sipped his Java, and they all lived happily ever after. [anonymous internet wit]

Back to top of Java Land

Last modified August 30, 2011 by javaMan