Java history
The fastest growing programming language in the history of computing
Developed by Sun Microsystems
Originally designed in 1991 for use in embedded consumer applications
Redesigned in early 1995 with Internet application capabilities
Introduced in May, 1995 and immediately supported by the Netscape Web browser
Rapidly overtaking C++ in popularity among commercial software developers
Threatened by Microsoft's .NET initiative and C# programming language. The future is uncertain as the legal battle between Microsoft and Sun Microsystems may last for years.
Benefits of Java
Architecturally neutral. Once written, the same Java program can be run on any platform (computer and operating system) that supports Java.
Entirely object-oriented. Existing code can be easily re-used and maintained.
Secure. Dangerous program actions are prohibited.
Supports Internet programming. Java applets are run by Web browsers.
Robust. Language features and packaged code support graphical programming, exception handling, networking, multi-threading, I/O, and more.
How Java works
To develop and distribute a Java program
Programmer codes Java source statements
Java compiler converts source statements into bytecode (platform-independent object language)
Bytecode is copied to the target platform
To execute a Java program
Platform-dependent Java Virtual Machine (JVM) software must be installed
A copy of the JVM is started
Each bytecode statement is interpreted (translated) by the JVM into platform-dependent machine language and executed under JVM control
|
-> |
|
-> |
|
---> |
|
Disadvantages of Java
Not supported by all platforms (though third-party JVM software is usually available)
Slower in execution than compiled languages
Restricts or prohibits machine-level operations required by certain applications (operating systems, etc.)
Benefits of Java far out-weigh its disadvantages
Applications require a single set of source files, a single compile, and can be run on any platform having a JVM
Development time and cost are greatly reduced
Maintenance time and cost are greatly reduced
Java programmers
Are in high demand. For current information, visit any of the following Web sites and use their advanced search facilities to find jobs with "Java" in the job description or requirements. You may find it interesting to compare the popularity of Java with other languages such as C++, COBOL, and VB.
www.dice.com
www.computerjobs.com
www.monster.com
Are well paid
"A 2001 survey found that U.S. Java developers earn an average of $83,000 per year, making them some of the highest-paid specialists in IT."
- ComputerWorld (May 20, 2002)
Benefit from certification
"There are hundreds of Java certification options. Recruiters say Sun's offerings carry the most weight, but any certification may help. Only about 25% of Java developers are certified."
- ComputerWorld (May 20, 2002)
Can easily switch to C++ or C# if necessary. The languages are very similar.
What does it take to become a certified Java programmer?
A thorough knowledge of programming logic
A thorough knowledge of object-oriented programming fundamentals
Attention to detail
Java language specifics
Test-taking skills
Persistence and practice
Review questions
Which of the following are true? (choose two)
All Java programs are object-oriented.
A Java program will execute faster than an equivalent program written in C++.
The bytecode for a particular Java program will be the same for different platforms.
Java can only be used to create Internet applications (applets).
Java was developed by Microsoft.
The Java compiler (choose two)
reads bytecode
writes bytecode
is the same regardless of the target platform
is also known as the Java Virtual Machine (JVM)
translates Java source statements into the machine language of the target platform
The Java Virtual Machine
is a hardware device
is the same on all platforms
reads Java source statements
is not required to execute a Java program
none of the above
Which of the following would be the least likely applications to be developed in Java? (choose two)
A game for a hand-held, Personal Digital Assistant (PDA)
A program to display a map for an on-board car computer
A Windows program for updating a small disk file
A banking application to record up to 500 transactions every second
A program to reformat the hard drive of a personal computer