Defining "implementation-dependent"
Q
What do you mean when you use the adjective "implementation-dependent"?
A
"Java is implementation-independent."
There is a problem.
There are too many computer vendors selling too many bits of hardware and too many bits of software.
There are Macs, UNIX machines, PCs, netscape navigators, Internet Explorers and multiple versions of each of these.
With all this variability, how can the programmer hope to write a program that will work for everyone?
In fact, most programs today cannot run everywhere.
They are dependent on an implementation of a nit of hardware or software.
They are tied to something else.
When you go to a computer software store and look at the software for sale, the most obvious thing you will see is that there are two sections... one for Mac software and one for PC software.
What is less obvious, but more important is that in the mac software section they sell Microsoft Office and in the PC section they also sell Microsoft Office.
So what is the deal?
Why are there two versions?
There are two versions because Microsoft office was written in C++ which is implementation dependent.
It is tied to the operating system.
You must have separate versions for every operating system.
Well, the reality is that in computer software stores, that is not such a big problem because people will buy the right one.
However, on the web, people expect their experience to be seamless regardless of whether they own a mac or a PC.
They don't want to be told that they have to go get another version of the page.
They want there experience to be the same irrespective of the implementation they use.
That is where "implementation independence" comes in.
A programming language can be implementation independent if it is written in such a way that regardless of where it is run, it will work.
The language is independent of any hardware, software, or operating system.
It just works.
Well, Java is such a language... and hence the catch phrase "write once, run anywhere".
Selena Sol contributes to the JavaBoutique's Introduction to Java. Selena curently works for Barclays Capital in London, one of the leading global investment banks in Europe and has worked as a software developer for the National Center for Human Genome research, Microline Software, Neuron Data, and Electric Eye in Singapore. Selena is perhaps best-known for creating the Public Domain Web Script Archive (Extropia) and writing several books on Web Programming (Perl, CGI, Java).
Email: selena@extropia.com
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|