Software Information |
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 thesedays. 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 usedby 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. Havethey 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. Forexample, 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'sbayou. 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 usecomputer programs. They go there not just to have fun and also get some workdone in a fun atmosphere as these people are very important people. From the very start java was supposed to be computer independent. That means ifyou 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 bringWindows machine, some Apple mackintosh. Some of the affluent ones bringSun 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 uselots 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 ofC++ 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 ofthe 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 ofusing 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 hiddenfrom 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 isvery 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 candefine 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 isanother 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 multipleinheritence. The pointer concept was taken from C and it was very messy! The pointer is special type of variablethat 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 pointingto thousands, some of them are pointers and some just plain variables. Needlessto say this made a large program extremely difficult to read and when the programmer left for another company, they would have no other choice thanto 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 wasresponsible 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, wasanother 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 takethe 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. Theycan 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 expressedin java as class doctor extends person , which is much easier to understand. But there are few awkward stuff in java too especially when someonesays 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 onwindows environment. But it did not work in UNIX systems or mackintoshes. Justlike 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 anothercomputer. To do this, they created J2EE. I am not sure how they cameup with the name J2EE. The 'J' of J2EE, of course, means "Java", and I can bereasonably sure '2' stands for 'To'. But I do not know what the 'EE' part is allabout, probably some kind of extension. Or at this point they ran out of names to think of. So they decided tohave 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
MORE RESOURCES: Unable to open RSS Feed $XMLfilename with error HTTP ERROR: 404, exiting |
RELATED ARTICLES
Microsoft Great Plains Implementation - Overview for IT Director/Controller What is installation in the language of technology? Installation has server and client sides. Server side - Installation creates security environment (logins) on MS SQL Server or MSDE, creates system database - DYNAMICS and then company databases. 7 Things to Consider Before Buying Small Business Accounting Software The world of small business accounting software can be a minefield for any business owner. However choosing the right package is one of the most critical business decisions you will make. Rapid Application Development - Is it Really a Need of Today? Rapid Application Development (RAD) is a software development methodology. In this competitive world, software product delivery time should be as little as it can be. Crystal Reports - Geterogeneus databases: SQL Server, Oracle, Unidata, Btrieve - Tips For Developer Crystal Reports is the most flexible tool on the market and it has market recognition. Multiple software vendors offer Crystal Reports as the main reporting tool: Microsoft, Best Software, Oracle to name a few. Software Automation Helps Increase your Bottom Line When you own a small business, time is money. And every time a task that should be automated is handled manually, it wastes your time and your business loses money. Microsoft Great Plains as ERP and Microsoft CRM as CRM If you have Microsoft Great Plains and support it for your company then you need to know some technical details about Great Plains version upgrade and what is going on behind the scenes, which options do you have in case of Dexterity, VBA, SQL customization, additional complexity comes with migration from ctree/Pervasive to MS SQL/MSDE.What is upgrade in the language of technology? Upgrade has server and client sides. Where to Find Free Fleet Maintenance Software Costs of fleet maintenance software can vary widely. It is generally expected that the fleet manager will look at the needs of the company to determine what software package is best suited for their particular needs. Easy Guide to RAID Recovery What is RAID RECOVERY?RAID stands for Redundant Array of Inexpensive Disks. It is a method of combining several hard drives into one unit. A Simple Computer Software Definition What is Software?Software is a set of instruction written to interface between man and machine.Who writes this instructions?Programmers writes this instructions. Who's Watching What You Type? If someone entered your home, uninvited and installed numerous cameras and listening devices in order to monitor your activities, you would quite rightly be outraged. While such a situation, unless you are living in the Big Brother House, would be considered ridiculous, the same cannot be said for the humble home computer. Performance Tuning of a Daffodil DB / One$DB -JDBC Application This article illustrates the best practices to improve the performance of Daffodil DB / One$DB JDBC Driver. This article focuses on how to improve the performance of a Daffodil DB / One$DB JDBC application using Statement, PreparedStatemnt, CallableStatement and ResultSet interfaces. Linux Vs. Windows This article will not attempt to advocate the use of Linux over Windows or vice versa. I will try to present the differences and similarities between Linux and Windows in a fair manner. Huddle Up; Groupware on Three It could just be me, but my experiences with document collaboration remind me of a football game. It sounds crazy, I know, but working with a group and sending emails off to other members of the group caries with it that familiar uneasy sensation of Thanksgiving Day football games, where I often play quarterback and just as often wonder whether members of my family will catch the pass, and if they do, what they will do with the ball. What To Do When Windows Wont Boot When Windows fails to boot it is normally caused by you installing a program or device and it has caused a conflict with one or more other programs.This will no doubt give you plenty of heartaches if you're not certain which program caused Windows to not boot up. Chinese Input - Step by Step Instruction on How to Input Chinese Characters in English Windows XP Enabling Chinese input is quick and easy, there are only a few steps you need go through to install the Chinese Language support and input method before you can type Chinese in your word processor or other program.We have broken the steps to 3 different sections for your easier to read and follow. The Tools and Features of Adobe Photoshop Adobe Photoshop is one of the world's leading graphics editing programs, developed by Adobe Systems. Available on Mac OS or PC, Photoshop is used as one of the leading image design programs for the World Wide Web. CROOK: A Methodology for the Refinement of Forward-Error Correction Table of Contents1) Introduction2) Related Work3) Framework4) Implementation5) Performance Results5.1) Hardware and Software Configuration5. Microsoft and Webmasters Does Microsoft care for WebmastersIt's always been a problem with websites appearing exactly the same on different platforms. As a web developer / webmaster it is extremely difficult to make user experiences rich by having the site look the same in any OS / Browser. Selecting Corporate ERP: Microsoft Business Solutions Great Plains - Estimation Parameters As we could imagine, if you are reading this article - you are in the decision making mode, probably replacing legacy system with the new one or abandoning either Unix/Mainframe or Apple direction for your corporation. In any case, nobody should make an outside influence on your decision - you should be maximally objective. Business Planning Software Once a business idea is selected, it is highly recommended that we sharpen the concept by a detailed planning process. The result of this step is a comprehensive business plan, with its major components being the marketing "mix," the strategic plan, operational and logistical structures, and the financial proposal. |
home | site map | contact us |