A Brief History of the Java Language

Read the text, try to understand it.

The Java language is the fastest growing programming language in computing history. Its exponential growth parallels the growth of the Internet for which it was designed. But, Java technology is much more than just a new language.

In late 1990, Sun Microsystems, Inc., a manufacturer of high-end Unix work stations, initiated a project code-named «Oak».

The goal was to design a technology that could integrate electronic devices with other computing devices using a standard programming language via the Internet.

Discouraged by the complexity and unreliability of the C++ language, James Gosling set out in June of 1991 to create an «Oak» interpreter – a simple, reliable, object-oriented (OO) language. Today, Gosling is considered the «Father of the Java language». Originally, the Java compiler was written in the C language. As proof of the viability of the Java language, the compiler was rewritten in the Java language in 1994. In May of 1995, Sun formally announced the Java language. Therefore, May 23, 1995 is considered Lava’s «birthday». In short order, all the major software manufacturers licensed Java technology.

A Brief History of the Java Language - student2.ru The first major use of Java technology on the Internet was the use of applets. An applet is a Java application which is run under the control of a browser inside an HTML Web page. Virtually, everyone with a Web site added an applet to perform special text or graphics effects, which enlivened otherwise boring, static Web pages.

Next, stand-alone Java applications began to appear. But by far the most widespread use of Java technology is in server-side applications, using JavaServer Pages (JSP), Enterprise JavaBeans (EJBs), and Java servlets.

Design Goals of Java Technology

The success of Java technology, and the genius of Gosling, is due to its design.

Simplicity – The syntax of the Java language is similar to those of C and C++. Therefore, it is both familiar to and easily learned by C and C++ programmers.

However, features of those languages that contribute to programming errors – like pointers, memory management, and multiple inheritance – were changed.

Object Orientation (OO) – The Java language is based on the modern object programming paradigm in which things are objects and verbs are methods (functions).

Architecture Independence – Java applications are compiled into an intermediate language called byte code, which is executed by an interpreter called a Java Virtual Machine (JVM). Theoretically, a compiled Java application can run on any hardware which hosts either a JVM or a Java Just-In-Time (JIT) compiler. Thus, Java applications are portable; that is, a Java application can be distributed as compiled binaries that will run on any Java platform. However, it is possible to write non-portable code by accessing platform – specific features.

Networking – The Java language is the first programming language to incorporate networking from the beginning. Therefore, it is as easy to read a file over the Internet as it is to read a local, disk file.

Distributed Architecture –A Java application can be written to run across multiple Web servers, loading classes and creating objects dynamically as needed.

Security – Java technology has built-in security management. All potentially dangerous methods ( for example, deleting a file) must first ask the Security Manager whether the action is permitted. This level of security is critical to applications that are downloaded over the Web.

Java Technology Components

Java technology comprises three major components – the Java programming language, the Java interpreter or Java Virtual Machine (JVM), and the Java platform.

TheJava programming languageis a state-of-the-art, object – oriented language.

Its syntax is like that of the C language. It is easily learned, extremely powerful, and prohibits many types of programming errors.

The Java Virtual Machine (JVM), or Java interpreter, executes the compiled Java applications. One or more JVMs are available for every major computing platform. Sun Microsystems distributes free JVMs for its proprietary Solaris systems and for Windows platforms. JVMs are, also, available for Linux, MacOS, and Unix platforms.

The Java platformconsists of a set of predefined classes organized into packages which are extensions to the basic Java language. These packages provide graphics, graphical user interface (GUI), input / output, networking, and security. While the Java language proper seldom changes, the platform changes with every new release.

Java Technology vs. C++

The Java language is often considered to be a descendent of the C++ language. Some wags call the Java language «C++--++», meaning that the Java language consists of C++ minus some troublesome features plus some new features.

C++ is compiled to machine language, making it non- portable in that it must be recompiled on every target platform.

On the other hand, compiled Java code can be run on any Java platform without recompilation.

C++ uses pointers to refer to memory locations. Pointers can be directly manipulated by C++ programmers, often resulting in catastrophic programming errors. Java references, on the other hand, cannot be used in pointer arithmetic, effectively eliminating an entire class of errors in C and C++ programs.

C++ requires the programmer to manage memory by allocating and deallocating chunks of memory for program use. Java technology handles memory management automatically.

Early on, C++ programs were faster than Java applications; because, whereas C++ is compiled to machine language, Java applications run on a software interpreter or virtual machine.

The words to the text:

exponential – экспоненциальный, показательный

growth – рост

to initiate – начинать

goal – цель

via – через

unreliability – ненадежность

to set out – намереваться, собираться

originally – изначально

proof – доказательство

viability – жизнеспособность

to perform – делать, создавать

to enliven – оживлять, разнообразить

to appear – появляться

familiar – знакомый

to contribute – способствовать, содействовать

inheritance – унаследование (свойств), последствие

to execute – выполнять

portable – портативный

to distribute – распределять, распространять

binary – двойной, двоичный

to incorporate – объединять

security – безопасность

to prohibit – запрещать

proprietary – собственный

extension – расширение

descendent – происходящий

wag – шутник

to refer – ссылаться

to eliminate – устранять, исключать

entire – весь, целый

2. Look through the text and find equivalents to
the following terms.

был разработан

могла объединить электронные устройства

обескураженный сложностью

считается

официально объявил

вскоре

запускается под контролем

наиболее широкое использование

схож с

независимость архитектуры

компилируются в промежуточный язык

может быть запущено на любом оборудовании

многочисленные серверы

встроенное управление безопасностью

состоит из заранее определенных классов

трудные, причиняющие беспокойство особенности

путем распределения и рассеивая кусков памяти

Наши рекомендации