![]() |
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 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
MORE RESOURCES: |
RELATED ARTICLES
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. Are You Waiting for Microsoft Longhorn Operating System I love new technology. I am still ready to wait long for Longhorn. Healthcare Preventive Maintenance Software Healthcare facilities such as clinics, hospitals, and biomedical laboratories can benefit greatly if up to date CMMS software is used. Healthcare CMMS programs will help with the maintenance of the building, alerting workers when items such as automatic doors, light fixtures, and plumbing structures are due for checkups. Constructionalist Parsing - Deciphering Natural Language The research in the field of Natural Language Processing usually assumes the existence of a syntactic "Generative Engine" that combines words and word-like elements into syntactic structures, and then sometimes displaces them by "syntactic movement". A Linguistic Parser must "undo" all the effects of syntactic movement, which results in a structure where the relations between the words are represented more directly. What is Fleet Maintenance Management? Fleet Maintenance Management is a critical position in any company that has a number of commercial vehicles. The individual responsible for the management and maintenance of fleet vehicles performs a variety of functions. Microsoft Small Business Manager Customization Options - Overview Microsoft Business Solutions Small Business Manager is Great Plains Dexterity based application and successor and small business market niche version of Microsoft Great Plains. Microsoft Great Plains itself has variety of customization and integration tools: Integration Manager, VBA/Modifier, Great Plains Dexterity, SQL Server stored procedures to name a few. What to Do if All Screensavers Fun is Grayed Out? Finally, you have some time to personalize your desktop with an interesting screensaver. But wait. Algebra Help Software Need help making sense of algebra? Have algebra lectures in your classroom left you scratching your head and wondering: "How on earth did they get that answer"? Do not despair, because help is at hand. AlgebraSolver from Softmath can make all the pieces of the algebra puzzle fall into place, improving your grasp of the subject with step-by-step problem solving that demonstrates exactly how a solution has been reached. Dig Out That Worm Internet worms. Is your PC infected?If your computer has become infected with a worm, don't panic, it is not the end of the world. Seven Reasons Why a Hosted Inventory Management Solution Might Be Right For Your Organization Upgrading. Downtime. RSS: Get Notified When Your Favorite Websites Are Updated RSS (Really Simple Syndication) is a way for a site to publish it's updates. RSS readers can read these notifications and display a listing of the updates to you, the user. Helping Newbies Understand Professional Software The Windows registry is a huge database that ensures normal computer operation. Installing and uninstalling software can make your registry a mess, leading to decreased PC performance and causing computer crashes. Microsoft Great Plains Food Processing - Implementation & Customization Highlights Microsoft Great Plains might be considered as ERP platform to build your own custom solution upon or as the assembly place for the existing modules. Microsoft Great Plains has Inventory Control (IV), Bill of Materials (BM), Manufacturing modules, coming from Microsoft Business Solutions directly, plus it has third party solutions, such as Horizon Light Manufacturing. Microsoft Great Plains SOP: Sales Order Processing Microsoft Business Solutions Great Plains is marketed for mid-size companies as well as Navision (which has very good positions in Europe and emerging markets where it can be easily localized).Great Plains Sales Order Processing (SOP) module forms a third of the core Inventory and Order Processing part of Great Plains. OSI Layers Model IntroductionDuring the early years of our modern computer era, very few standards and protocols existed between various manufacturers. However, as time went on and computer technology continued to improve and become more widespread, it became apparent that standards would be necessary to ensure compatibility. It's Back!! WordPerfect's Amazing Comeback Have you noticed WordPerfect is gearing up for a comeback in a big way? And fortunately, they are succeeding. If you're like me, an ole' diehard WordPerfect 5 user, this is music to my ears. Microsoft CRM: Implementation, Customization, Support - Consultant Overview Microsoft Business Solutions CRM is present several years on the US software market plus it makes advances in Europe. We expect substantial number growth of Microsoft CRM implementations across USA. Microsoft Great Plains Jewelry - Implementation & Customization Overview Each Industry and market niche has business specific and unique requirements to ERP/Accounting System. Microsoft Business Solutions Great Plains is ERP platform, ready for third party modules additions and customizations, plus being SQL Server-based system it opens you wide spectrum of integration options and tools. Microsoft Great Plains Dynamics on Pervasive SQL.2000 Data Repair - Overview For DBAs Some introduction into Great Plains Software products, now Microsoft Business Solutions. Microsoft Great Plains becomes more and more popular, partly because of Microsoft muscles behind it. Microsoft Great Plains: Dexterity vs. eConnect - FAQ Microsoft Business Solutions Great Plains, former Great Plains Software Dynamics/eEnterprise was originally written in IDE and programming language - Great Plains Dexterity. Currently Microsoft is on the way of transforming its ERP applications: Great Plains, Navision, Solomon, Axapta and MS CRM to be better integrated and fit into the future of its . |
| Copyright © The House of Pradha · Wisdom for Everyone. |