Вы находитесь на странице: 1из 3

Since its public introduction, tremendous hype and fanfare have surrounded the Java programming language.

Rumors, speculation, and confusion have all followed the wave of Java publicity. Is it secure? Is it just for the Web? Is it robust? s Windows !" #.$ ta%es shape, &icrosoft is preparing an important place for Java and other Web'related technologies (for information on !" #.$, see the list of related Windows !" &aga)ine articles on page **+,. "o understand Java for what it is and what it isn-t, you have to %now a little bit about Java-s origins and cut through the myths. Java's Reason for Being. Java is a general'purpose //0 language, but many users associate it with the Internet. "he Internet connection came relatively late in Java-s gestation and was not its original purpose. Sun &icrosystems developed Java while wor%ing on projects for intelligent appliance such as personal digital assistants. James 1osling led the development group, which started its wor% in 233, but became frustrated with some of 233-s limitations. 4eginning in *55$, the development group began wor%ing on a new language, the /bject pplication 6ernel (/ 6,. 4ecause / 6 was already a registered trade name, Sun &icrosystems renamed its new language Java. 7i%e most technology developments, Java has origins in other languages. 2 and 233 contribute the most, but Smalltal%, /bjective'2, 8iffel, da, &7, and S!/4/7 also have elements in Java. 9arious technologies claim to compete with, complement, or associate with Java. :or e;ample, !etscape-s JavaScript is unrelated to Java the language, but both products carry a similar name. &icrosoft positions its ctive< components to compete with Java, but ctive< is not a programming language. "he truth is that nothing is =uite li%e Java. Truth About Java. &any claims have been made about Java as a language. 4y e;amining these claims, you can begin to better understand Java-s place in the world of development technologies. Simple. Java is the simplest //0 language to learn. 4y comparison, the learning curves for other //0 languages such as 233 and non'//0 languages such as 2 are very steep. What will happen to Java after the standards committees ta%e hold of it is difficult to say. >espite its simplicity, Java is an //0 language, so you need to gain some understanding of object'oriented concepts. What it is, and what it isn-t. Efficient. "he claim that Java is efficient is debatable because Java is an interpreted language, and the Java interpreter uses the Java 9irtual &achine (J9&,. ?ou can interpret Java to run on any operating

system or Web browser, so a Java program will typically run between @ and @$ times slower than an e=uivalent 233 program. Aowever, for an interpreted language, this performance is considered efficient. Several companies (including 4orland and Symantec but e;cluding Sun &icrosystems, recently deployed a relatively new concept to help with Java-s runtime efficiency. Just'In'"ime (JI", compilation, which involves invo%ing a compiler at runtime from within the J9& on precompiled Java byte codes that have had all dynamic bindings resolved. "he JI" compiler re'compiles the interpreted byte codes into machine code, which speeds subse=uent e;ecution. "echnologies such as JI", advances in general'purpose computing hardware such as the 0entium 0ro, and the Sun &icrosystems announcement of Java silicon (processors that e;ecute Java directly, will ma%e Java a more effective general'purpose computing language. "he first e;amples of Java silicon and the JavaStation are due out in *55B. Small. "he Java language is small. "he number of %eywords and language constructs is limited compared with other development languages. "he compiled code that Java produces is also compact relative to the number of input source lines, which ma%es it good for =uic% downloading across the Internet. Architecture Neutral. Java-s language characteristics are absolute across all platforms, which ma%es Java programs e;tremely portable. Java does away with the *+', C@', +D'bit conundrum because the basic data types are the same si)e regardless of platform. So, for e;ample, you can write a Java program on Windows !" that will run on a Solaris S0 R2 machine without so much as a recompile. "his portability includes graphics programs. nyone who has had to architect and construct portable graphics code, even with a helper tool%it, will appreciate Java-s portability. Secure. Java-s claim to be a secure language is in dispute because hac%ers have successfully crac%ed its security mechanism do)ens of times. Sun &icrosystems is revising Java to use independently verifiable digital signatures to enhance Java-s security. "hese enhanced features will be part of the ne;t major release of the language. Robust. Several of Java-s elements ma%e it one of the most robust languages ever developed. 4ecause Java has no undefined states, you-re less li%ely to encounter a protection fault or clobbered memory. In contrast, when a program written in 2 or 233 references a pointer to an invalid memory location, the language does not define what action to ta%e and the program can become unstable. Java also has a

well'designed e;ception mechanism that performs many chec%s at compile time. "he e;ception mechanism can catch and easily handle runtime e;ceptions. In addition, the lac% of pointers combined with e;tensive compile time analysis eliminates many traditional coding errors, ma%ing for very solid code. Multithreaded. Java contains embedded support for multithreaded programming. Some of the support is in the language in the form of %eywords supporting mutual e;clusion loc%s and semaphores, both of which are necessary for effective multithreaded programming. Some of the support is in the class library that comes with the language. lthough multithreaded programming is inherently difficult, Java-s support for it ma%es it simpler than ever before by providing an easy'to'use language and library mechanisms. International. ll character and string data types in Java are Enicode. Enicode is a standard that supports wide characters capable of representing any one of the natural languages (you can find complete information about Enicode at http.FFwww.unicode.org, .

Вам также может понравиться