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
|
|
|
Software Engineering: An Introduction
Software Engineering is the Systematic Approach for analysis design implementation and maintenance of Software .It involve the use of Case tools. Computer software is the product that Software Engineers design and develop and virtually every one in the industrialized world use it and is important because it effects nearly every aspect of our lives and has became needy in commerce, culture and our every day life.The Steps involved in building a computer software like you build any successful prod...(related: Software)
Microsoft Crm ? Typical Customizations
Microsoft CRM was designed to be easily customizable. Microsoft CRM Software Development Kit (MS CRM SDK) which you can download from Microsoft website contains descriptions of the objects or classes, exposed for customization. It has sample code in C# and partially in VB.Net. In Visual Studio.Net you can analyze all the classes, used by Microsoft developers to create MS CRM - you will discover that most of them are not documented in MS CRM SDK. Microsoft will not support your customization if you use undocumented class or do...(related: Software)
Microsoft Great Plains Customization Tools ? Overview
Former Great Plains Software Dynamics/eEnterprise, and currently Microsoft Business Solutions Great Plains was initially designed in the earlier 1990th as the extendable and modular application with its proprietary tool: Great Plains Dexterity, written in C programming language as a shell. This was popular tendency those days ?compare with SAP ABAP or Navision C/Side. Great Plains has additional ideas ? database platform independence and graphical platform independent interface (initially targeted to both Apple Macintosh and Microsoft Windows with good chance that one of them will take market over ? and it did happen, including the acquisition of Great Plains Software by Microsoft). In this small article we'll give you revised overview ? yo...(related: Software)
Microsoft Great Plains Nationwide Remote Support
ERP Consulting industry is on the way to serve clients nationwide and even worldwide, when the client is multinational corporation. There are several reasons to specialize in remote support. In this small article we'll give you these reasons and the advantages of remote installation, customization, integration, programming, reporting.? Remote Support Technologies. These technologies are well known and we will just mention them: VPN, Citrix, Remote Desktop connection, Microsoft Terminal Services, Web Sessions, PCAnywhere (however the last one should be avoided if possible)? MS SQL S...(related: Software)
Microsoft Great Plains Customization And Development ? Overview For Programmer
When Great Plains Software was designing and developing Great Plains Dynamics/Dynamics CS+/eEnterprise - it placed several fundamental principles into the system1. Computer platform independence. If you consider the situation in the computer software industry those days (earlier 1990-th) - nobody knew which office computer platform will be the winner: IBM PC ...(related: Software)
Great Plains Dos Support ? Notes For Consultant
Great Plains Accounting, accounting package for mid-size and small companies was in its peak of popularity back in earlier 1990th. It first had DOS interface, later on migrated to classic Windows version (remember earlier event driven Windows and its strange and at the same time revolutionary programming model ? guys who remember Borland C++ and Microsoft C++). As each product has its life time ? it is ...(related: Software)
The Religion And Philosophy Of Small Internet Business
I have always had a tendency to focus on the positive. We, all of us, know the negative details in society and governments. So why not focus on solutions? Most self-actualized grownups even solve problems in this manner.Chances are we'll always have the mammoth corporations. Large corporations have their good and bad points. Click? Want to strike back at the aristocracy? Develop and advertise a business website. And it does not matter what country you are from e...(related: Software)
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.Here are the seven things you must consider before making a purchase that will help you achieve your businesses goals.1. ScalabilityBusinesses change over time so it's critical that the small business accounting software you choose can change too. Some things that often change are the number of products and services offered and the number of employees. When you choose your package try and imaging the business in 5 years or 10 years time and how different it will be. Use this information to guide your purchase decision. It may well be bet...(related: Software)
Implementing Erp For Large Publicly Traded Corporation ? Microsoft Great Plains
We would like first emphasize the change in the paradigm. If you look back ? 20 years or even 10 years ? those days you saw ERP/MRP monster applications/systems winning time. Everyone wanted to ...(related: Software)
10 Things You Could Be Using Photoshop For, But Probably Arent
Most people don't use Photoshop to its fullest capabilities. Here are just ten uses to which you could put this highly versatile software.1. Restoring Old Photographs. Have a look through that old family photo album - the really old one from up in Grandma's attic. Inside there are probably a few photos from way back when that haven't stood the test of time so well. They've got cracks and tears that really spoil their appearance. Scan them into Photoshop, and then set to work with the Clone Stamp, Healing Brush, and Patch to...(related: Software)
How To Choose The Right Accounting Software For Your Business
With any good luck and a good amount of hard work, you'rehaving the same problem many business owners today arefacing. Your business is growing rapidly and you're havingproblems controlling your finances. Time and time again,that Microsoft Excel spreadsheet you've been using justisn't getting the job done for you.So, you've decided that you're ready to take the nextstep, and buy a full-featured accounting software program. Many options are available to choose from, but I believethe best solutions to be Quicken Premier Home and Businessby Intuit, QuickBooks Pro also by Intuit, and PeachtreeAccounting by Sage. In order to decide on the rightpackage for you, you need define the type of business thatyou operate.With the rise of sel...(related: Software)
site-map - Copyright © 2008 | Contact Webmaster | All Rights Reserved. | Software