brief history of java 
This is an example of brief history of java. This document is useful for studying brief history of java.
Java for Web Page Production
~ Java for Web Page Production ~
Session 1 - Learn about Java, and create your first Applet
<< Back to Course Outline
Contents
Introduction Health & Safety Registration Course aims & Objectives Session 1 Overview What is a program? A brief history of Java How can Java be used What is an Applet? How can applets spice up your web pages? Compilers & Interpreters; Bytecode Java and your browser - the JVM The Java JDK (Java Development Kit) Creating your first Applet Summary & Further Sources =+[(-:] BREAK [:-)]+= Introduction to the basic JDK tools
Introduction
Welcome to the course in Java for Web Page Production, held at Northampton College. Your course tutor is Simon Huggins, who will be taking you through and facilitating your learning of the details of this course. The course lasts for ten weeks, with each session running to approximately three hours. Each session starts promptly at 6.00pm in order to prevent finishing too late. Refreshments will be available from 5.45pm, with a short break at around 7.45 for approximately fifteen minutes. Each session will start with an recap of the previous session, and overview of the topics to be covered in the coming session, and at the end, a summary of that session. Each session will be taught using a mixture of seminar-style teaching, demonstration using a computer-linked projector, and a chance to try out what has been learned with a practical session.
A bit about me
- Page 123
-
Java for Web Page Production I work locally in Northampton with a company called Scottish And Newcastle Retail, which owns a few thousand pubs, restaurants, and hotel lodges. They own pubs like the Rat & Parrot, Britannia, Greyhound, and Red Lion at Brafield. I am an Analyst / Programmer working with a system called PeopleSoft that deals with accounts and Human Resources. It uses its own proprietary programming language designed for business working. Having graduated from the University of Sheffield in 1995, I had a good knowledge of object-oriented concepts, and immediately took up a remarkable new programming language called Delphi which is still going strong today with version 6. It took the reins from Visual Basic and introduced a visual programming environment with database facilities, and a proper structured and object-oriented programming language. The AWT (Advanced Windows Toolkit) is the library in Java that gives you the tools to build a user interface (i.e. buttons, text-boxes, labels, pictures etc.) so that you can design how your program will look to the user. This was based largely on the design of Delphi's component scheme. Thus, it was a natural progression to look at Java for future programming projects. I started with a language called JavaScript to create fancier web pages - specifically to create interactive web-based crosswords from my puzzle-creation program, WordPuzzle Pro. The limitations of this language lead me naturally on to Java, which I have been researching and creating sample applications, over the last year. I have a web site, located at http://www.simonhuggins.com which features my main interests, including the writing of software to be distributed across the internet, mostly written in Delphi. In case you're interested, i'm married, with two inherited children and now i'm a sortof-grandfather! At the tender age of 29! Photos are on my web site. I also have an interest in poetry, writing fiction, and somehow fell into creating a web site for fans of the US TV Series Beauty And The Beast that was around in the late eighties / early nineties. Just goes to prove that, even in this day and age, programmers are still often strange creatures.
Health & Safety
Information will be handed out separately regarding Health & Safety.
Registration
Registration will take place at the start of this session. At the start of each subsequent session, you will be required to sign a register to confirm your attendance. - Page 223 -
Java for Web Page Production
Course aims and Objectives
The Java For Web Page Production course aims to give the attendees a good grounding of programming fundamentals, and specifically in the use of the Java programming languages to create Applets (programs that can be included in web pages). At the end of the course, course participants should:
Be able to create simple applets for the purpose of attracting attention to web pages - for example, through moving text, and simple games. Understand the capabilities and restrictions of Java applets Understand basic programming principles, including some concepts of objectorientation. Be familiar with the basic tools of the Sun JDK in order to compile and test Java classes. Understand how to embed a Java Applet to run from a web page Understand the basic concepts of using an Integrated Development Environment for larger-scale programming projects Be able to package classes up into a class library for web distribution
Session One Overview
In this session we will be covering:
What is a program? A brief introduction to what a program is, and the various styles of programming. Also a brief history of programming languages leading up to the introduction of Java. A brief history of Java A description of the evolution of Java from its earliest days as a language called Oak. How can Java be used? An overview of the different current and future possible uses of Java What is an applet? Overview of an applet in Java, it uses, and how it differs from an Application. How applets can spice up your web pages Some examples of how applets can bring more interest and functionality to your web pages than mere HTML alone. Java and your browser - the JVM An explanation and demonstration of how Java integrates with an Internet Browser through the Java Virtual Machine, and how this enables a degree of platform independence. Compilers & Interpreters - Bytecode The difference between Compilers and Interpreters, and how Java sits in the middle with bytecode. The JDK (Java Development Kit) The Java Software Development Kit - what it is, where to get it, how to install it, where it's used - Page 323 -
Java for Web Page Production
Introduction to the basic JDK tools Introduction to the tools within the JDK - particularly the compiler and applet viewer. Also note on file paths. Creating your first applet An example of how to create an applet - walked-through by the course tutor so that students can follow the example and create their own applet using the tools of the JDK. Summary and further sources Summary of the session, with some examples of further resources (typically web-based) which students can research to broaden their knowledge of the subject areas covered within the session.
What is a program?
A program is a list of instructions that described a task that you wish the computer perform. In order to specify precisely your intentions, the instructions are limited to a number of core words called keywords. For example, a common keyword is IF which is used to tell the computer you wish to do something, only if something else has happened. This language is not understood by the computer, which uses a very fast and simplified language designed to work well with the electronic components of your computer. This is called machine code or machine language. Few people program using this directly, unless of extreme masochistic tendency. This means that you need something that will translate the program that you have written in to machine code. This is done using a compiler. Instead, you could just translate the program straight from the source code without converting it to machine code. This would be done by an interpreter. Java uses something in-between the two of these, which will be described later. Large programs can get very difficult to follow, and are thus split up into logical steps, each of which are called procedures. These procedures may be able to be reused in different parts of your program, thus reducing the complexity and time it takes to write your program. Most programming languages come with a number of commonly used procedures, so that a lot of the work has been done for you. These procedures are packaged-up and put into a library. Finally, most modern languages are in some way object-oriented. The principles of this are quite simple - imagine an object (e.g. a bicycle). It is an object. It can do various things - e.g. go, brake, accelerate and change gears. Each of these is a procedure that can be performed with the bicycle. But associated with the bicycle is various information - e.g. the make, model, current acceleration, colour, etc. These are known as attributes.
- Page 423
-
Java for Web Page Production Now, let's say you wish to design a souped-up version of the sample bike - more gears, different colour, and with a bell!!! With object-orientation, rather than redoing everything again, you would borrow the design of the old bike, and just add to and replace various aspects of the object - e.g. a new attribute called bell and a new procedure called ring. Saves a lot of time. This principle is known as inheritance. Finally, lets says we have a new object called shop. This has 50 spaces for bicycles, but until they are bought, who knows what they will be? So, we define 50 spaces that can hold a bike object (all of which share similar basic attributes and procedures) and pop different types of bikes into and out of those spaces as they are needed. In this way, we may not know in advance that the bike has a bell, but we know it can go, break, accelerate, and change gears! This principle is known as polymorphism - just to make it sound clever! This is the basics of object-oriented programming. You build programs to reflect 'things' or objects that exist in the task or tasks you are trying to achieve. We'll look at these concepts later and see how they can be useful in real programming.
A brief history of computer languages
In that late 1940's, a German engineer called Konrad Zuse sought a better way to program computers. He developed a system of symbols that could be used to solve problems step-by-step, called Plankalkul. Alan Turing wrote a shorthand code for writing programs on the Mark I computer but still pretty indecipherable to the untrained. John Mauchly then developed Short Code which allowed equations to be entered using a special code. Grace Hopper, inspired by this, became the first real advocate of High Level Languages - languages that are closer to language that humans might use to describe tasks. One of the first widely-used languages was IBM Fortran, developed in the 1950's, working with mathematical data. The language ALGOL was developed in 1958, but was never as well accepted as Fortran. COBOL (Common Business Oriented Language) was created in 1960, to serve mainly large businesses and governmental institutes. COBOL is still widely used in industry today, especially on large mainframe computers. In 1964, BASIC (Beginners All-Purpose Symbolic Instruction Code) was released, making programming accessible to many more people. Variants are still in wide use today - e.g. Microsoft Visual Basic.
- Page 523
-
Java for Web Page Production In 1965, a language called PL/1 was introduced to be a 'cure-all' language. Being overly complex, it met with only limited success. Simula I and 67 had little impact at the time, but introduced the early concepts of object-oriented programming that underpins most languages, including Java, used today. In 1971, a Swiss professor called Niklaus Wirth introduced a teaching language called Pascal, which introduced important concepts in structured programming to reduce errors and increase readability. C was created in 1972, intended as a lower-level language for writing operating systems for different computers, although its uptake has been far more universal than intended. On the surface, Java and C programs look similar - e.g. blocks are denoted by curly brackets. Smalltalk, designed in the late 1970's, was the biggest breakthrough in many years, being both graphical and object-oriented. The concepts developed in Smalltalk contribute largely to modern languages such as C++ and Java. ADA is used by the US Department of Defense, and was released in the early 1980's it is large and very complex. C++ was released in the mid-1980's to extend the popular C language to include object-oriented concepts. Finally, Java was released in the mid-1990's to an enthusiastic audience. Soon to arrive is Microsoft’s answer to Java, the .Net platform, which allows different languages to produce the same code, ultimately on different platforms. From this, you can clearly see that Java is only the latest in a whole history of languages. It may be that as Java is widely used, better ways of working will be discovered that fit how technology progresses. Java has the advantage in that it preempted a flourishing internet industry, so was in the right place at the right time, with a product that was solidly built and has thus stood the test of time.
A brief history of Java
Java was originally started as an elite project codenamed Green to find a way of allowing different electronic devices such as TV-top boxes and controllers to speak a common language. This was originally dubbed Oak but failed to find a niche despite its potential. In 1993, the first web browser Mosaic was born, revolutionising the internet from an environment for educators and scientist to one taken up by a ever-increasing crosssection of people from all walks of life.
- Page 623
-
Java for Web Page Production This changed the (now a company called First Person) team's focus to producing a software system for online multimedia. The decision was made to give the source away free on the internet. The first oak-ready browser, WebRunner was created with the first ever applet, showing a character called Duke (which can now be found throughout Sun's Java web site) waving back at his parents. Sun decided to rename the language, to become Java. WebRunner became HotJava due to a trademark conflict, and then in 1995, Netscape signed a deal with Sun to incorporate Java technology in its hugely popular web browser. The uptake has increased ever since. Java has now evolved into a programming language that can be used across different computers, electronic devices, and internet browsers without having to produce different versions of the program to suit each one. This has always been a major problem for the software development industry, or lone programmer wishing to reach the widest possible audience. How can Java be used? In this course, we will be concentrating on using Java to attract interest in your web pages, and giving you the fundamental understanding of programming to go on to create Java Programs to suit your own purposes. However, Java has been taken up voraciously by many developers across all major industries, and the need for Java programmers has thus rocketed, such that demand far exceeds supply. For this reason, Java programmers are currently earning good salaries (typically £30-£40k+) and enjoying being on the cutting edge of technology. So why has Java been taken up by big business as well as the small developer producing a web site, or simple applications to share with net surfers? The biggest reason is interoperability or the ability to write a Java program for one computer, and be able to run it on virtually any computer that can run Java programs (and due to Java's popularity, most computers can) with little or no change in the program. This might seem an obvious need, but until Java, there was no universally accepted language that could work across different types of computers. Java can be run on computers called web servers - these are the computers that you are linking to when you are browsing the web, and contain web pages to send back to your computer, or instead, programs that determine how the web pages should look when they are viewed on your computer. So Java can be run on servers as well as clients (that's your computer when you're browsing the internet) - another advantage. It can also be used to link to stores of data called databases, it can control how to communicate with other computers across the internet in a variety of ways, it can create real-time three-dimensional games that run from your web browser. In short, it can cope with the majority of common computing tasks that you choose to throw at it.
- Page 723
-
Java for Web Page Production Finally, Java can also be used to program electronic devices - and as a result of its innate ability to talk to other computers across the internet, this allows for devices that can talk to each other, or that can be controlled across the internet from, say, your web browser. Uptake for this technology has been quite slow, largely due to this being a fairly young and volatile part of the industry, but is increasing. So what are it's shortcomings? Well, Java is owned by Sun microsystems, who thus control how it develops, although they do generously allow anybody to freely download the tools required to get going with programming in Java (the JDK - Java Development Kit). This means that other companies who wish to produce competing products (e.g. Microsoft with its .net project) will naturally wish to squash its use in industry as much as possible. For example, in the Microsoft's latest Windows XP operating system, Java does not come bundled with the web browser as it has done before - you will need to download Java from Sun's web site before Java Applets will work OK. However, many computer manufacturers such as Dell and Compaq have chosen to pre-load Java onto their new PCs, so this may not be a real problem. Java has traditionally had a reputation for being slow. This is inevitable, as the programs must be independent of the different languages that different computer processors understand (known as machine language or machine code). However, as processor speeds have increased, and Java technology has improved (with such help as Just-In-Time Compilers - where the code gets converted into machine code just when the Java program is about to be run) this barrier has been less noticeable. Despite Microsoft's competition, Java looks set to maintain prominence in the computing world - partly due to its continuing evolution, partly because a lot of people are now using it, and partly because it has such a solid basis on which to build virtually any type of application, aided by the frenzy of activity in trying to get anything and everything connected to the internet. Indeed, a recent report released by Evans Data Corp [eWeek 16-08-2001] indicates that in the US, Java is set to overtake the use of both C++ and Visual Basic next year, with an estimated 60% of developers using Java.
What is an Applet?
An applet is a Java program which can be put on a web page amongst the rest of your content . If you browse the web regularly, you will undoubtedly have come across examples of Java Applets - they tend to start as grey boxes which burst into life once the Java program has been loaded and starts. Creating an applet is a fairly simple process:
Create your web page and put in a special