Vous êtes sur la page 1sur 4

Kimberly Rose P. Ilagan Assignment No.

1 HISTORY OF JAVA(Programming Language)

Data Structures and Algorithm Analysis November 14, 2011

James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java language project in June 1991. Java was originally designed for interactive television, but it was too advanced for the digital cable television industry at the time. The language was initially called Oak after an oak tree that stood outside Gosling's office; it went by the name Green later, and was later renamed Java, from Java coffee, said to be consumed in large quantities by the language's creators. Gosling aimed to implement a virtual machine and a language that had a familiar C/C++ style of notation. Sun Microsystems released the first public implementation as Java 1.0 in 1995. It promised "Write Once, Run Anywhere" (WORA), providing no-cost run-times on popular platforms. Fairly secure and featuring configurable security, it allowed network- and file-access restrictions. Major web browsers soon incorporated the ability to run Java applets within web pages, and Java quickly became popular. With the advent of Java 2 (released initially as J2SE 1.2 in December 19981999), new versions had multiple configurations built for different types of platforms. For example, J2EE targeted enterprise applications and the greatly stripped-down version J2MEfor mobile applications (Mobile Java). J2SE designated the Standard Edition. In 2006, for marketing purposes, Sun renamed new J2 versions as Java EE, Java ME, and Java SE, respectively. In 1997, Sun Microsystems approached the ISO/IEC JTC1 standards body and later the Ecma International to formalize Java, but it soon withdrew from the process. Java remains a de facto standard, controlled through the Java Community Process. At one time, Sun made most of its Java implementations available without charge, despite their proprietary software status. Sun generated revenue from Java through the selling of licenses for specialized products such as the Java Enterprise System. Sun distinguishes between its Software Development Kit (SDK) and Runtime Environment (JRE) (a subset of the SDK); the primary distinction involves the JRE's lack of the compiler, utility programs, and header files. On November 13, 2006, Sun released much of Java as free and open source software, (FOSS), under the terms of the GNU General Public License (GPL). On May 8, 2007, Sun finished the process, making all of Java's core code available under free software/open-source distribution terms, aside from a small portion of code to which Sun did not hold the copyright Sun's vice-president Rich Green said that Sun's ideal role with regards to Java was as an "evangelist." Following Oracle Corporation's acquisition of Sun Microsystems in 20092010, Oracle has described itself as the "steward of Java technology with a relentless commitment to fostering a community of participation and transparency.

WHAT IS JAVA? Java is a programming language originally developed by James Gosling at Sun Microsystems(now part of Oracle Corporation) and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities. Java applications are typically compiled tobytecode (class file) that can run on any Java Virtual Machine (JVM) regardless of computer architecture. Java is a general-purpose, concurrent, class-based, object-oriented language that is

specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere." Java is currently one of the most popular programming languages in use, particularly for client-server web applications.[9][10] The original and reference implementation Java compilers, virtual machines, and class librarieswere developed by Sun from 1995. As of May 2007, in compliance with the specifications of theJava Community Process, Sun relicensed most of its Java technologies under the GNU General Public License. Others have also developed alternative implementations of these Sun technologies, such as the GNU Compiler for Java and GNU Classpath.

CHARACTERISTICS OF JAVA Simple Object Oriented Distributed Robust Secure Architecture Neutral Portable Interpreted High Performance Multithreaded Dynamic

Java is simple We wanted to build a system that could be programmed easily without a lot of esoteric training and which leveraged today's standard practice. Java, which is one of the most modern programming languages, is a mixture of many other programming languages (C, C++, LISP, Objective-C, MESA, Modula3...). Specially, the syntax in Java is very similar to C and C++, but Java is too much simple than these languages (later we'll see the differences between Java and C++). This simplicity, with the fact that Java is an strongly tiped language, makes Java a powerful programming language. Java is robust Java is intended for writing programs that must be reliable in a variety of ways. Java puts a lot of emphasis on early checking for possible problems, later dynamic (run-time) checking, and eliminating situations that are error-prone.... The single biggest difference between Java and C/C++ is that Java has a pointer model that eliminates the possibility of overwriting memory and corrupting data. Some of these differences, make Java a very robust programming language. For example, Java don't allows multiple inheritance, it haven't pointers which are a source of continuous mistakes and it's a strongly-tiped programming language. For these and too many others things programers from all around the world can say that Java is a very robust language.

Java is an Object-Oriented Programming Language Simply stated, object-oriented design is a technique for programming that focuses on the data (=objects) and on the interfaces to that object. To make an analogy with carpentry, an "object-oriented" carpenter would be mostly concerned with the chair he was building, and secondarily with the tools used to make it; a "non-object-oriented" carpenter would think primarily of his tools. The object-oriented facilities of Java are essentially those of C++. Maybe you don't know yet how is the Object-Oriented Programming and maybe you are worried for this. Don't worry. You probably know already the structured programming. If you think a bit about the model of structured programming, you'll see that it's not the same model that we use naturally to organize the information in our sense. The OOP (Object-Oriented Programming) tries to use in programming, the same model which our sense uses. So, you will learn rapidly how to use this way of programming. The OOP has only one difficulty: you have to learn some new concept based in a special object-oriented terminology. So, you will ear words likeobject, class, instance... and you will ear that OOP has based on three major properties: encapsulation, polymorphism and inheritance. You will learn more about this along this tutorial. Java is portable (because is both compiled and interpreted) ...Unlike C and C++, there are no "implementation-dependent" aspects of the specification. The sizes of the primitive data types are specified, as is the behavior of arithmetic on them... ... The Java interpreter can execute Java bytecodes directly on any machine to which the interpreter has been ported. Since linking is a more incremental and lightweight process, the development process can be much more rapid and exploratory... While most programming languages you have only to compile or interpret a program to can run it on your computer, the Java way to do this is very different. Java is both compiled and interpreted and this is the difference that allows that portability. You need two steps to execute a Java program: 1. Using the compiler, you translate the source code of a program into an interpreted language called Java bytecodes. 2. Using the interpreter of the Java platform, you can finally execute this program. The difference between Java and other languages which allows Java to be portable is in that first step and in that bytecodes. The bytecodes can be interpreted on the Java platform of a any one computer. When you find, for example, a Java applet on a web page, you are downloading a bytecode file that the Java Virtual Machine (JVM), which is installed on your computer, is executing. Java is secure Java is intended to be used in networked/distributed enviroments. Toward that end, a lot of emphasis has been placed on security. Java enables the construction of virus-free, tamper-free systems. Here you have some points which tries to guarantee the applets security in Java:

y y y

Language and compiler : All the references to memory are symbolic references (you can't know where in the memory will stay your program, it only depends of the JVM and of each machine). Bytecodes checker : On the Java Virtual Machine the bytecodes code is checked to confirm that it was compiled on an standard compiler. Classes loader : Each applet is loaded on its own memory space, to make impossible the information interchange between applets. Security on applets : The programmer can configure his communications with a certain degree of security.

Java is multithreaded ... (the) benefits of multithreading are better interactive responsiveness and real-time behavior. A good way to prevent your Java programs from locking up is to use multithreading, which simply means you write a program that enables multiple execution streams to occur simultaneously within the same program Threads are rapidly becoming an important programming facility, particularly for Internet-related applications. They permit a form of parallelism within a single program that can greatly improve program performance. For instance, the Netscape 3.0 browser and its posterior versions permits the user to download a file while continuing to browse the WWW, an example of multiple threads within a program. Using multiple threads in Java programs is far easier than in C or C++ because of the language-level support offered by the Java programming language.