| |
Introduction to Computers, the Internet...
Chapter Summary
|
- The various devices that comprise a computer system (such as the keyboard, screen, disks, memory and processing units) are referred to as hardware.
- The computer programs that run on a computer are referred to as software.
- Java is one of today's most popular software-development languages. Java is a fully object-oriented language with strong support for proper software-engineering techniques.
- Java was developed by Sun Microsystems. Sun provides an implementation of the Java 2 Platform, Standard Edition called the Java 2 Software Development Kit (J2SDK), version 1.4.1 that includes the minimum set of tools you need to write software in Java.
- A computer is a device capable of performing computations and making logical decisions at speeds millions, even billions, of times faster than human beings can.
- Computers process data under the control of sets of instructions called computer programs. Computer programs guide the computer through sets of actions specified by computer programmers.
- The input unit is the "receiving" section of the computer. It obtains information from input devices and places this information at the disposal of other units for processing.
- The output unit is the "shipping" section of the computer. It takes information processed by the computer and places it on output devices to make it available for use outside the computer.
- The memory unit is the rapid access, relatively low-capacity "warehouse" section of the computer. It retains information that has been entered through the input unit so that the information may be made immediately available for processing when it is needed and retains information that has already been processed until that information can be placed on output devices by the output unit.
- The arithmetic and logic unit (ALU) is the "manufacturing" section of the computer. It is responsible for performing calculations and for making decisions.
- The central processing unit (CPU) is the "administrative" section of the computer. It is the computer's coordinator and is responsible for supervising the operation of the other sections.
- The secondary storage unit is the long-term, high-capacity "warehousing" section of the computer. Programs or data not being used by the other units are normally placed on secondary storage devices (such as disks) until they are needed, possibly hours, days, months or even years later.
- Software systems called operating systems were developed to help make it more convenient to use computers. Early operating systems managed the smooth transition between jobs and minimized the time it took for computer operators to switch between jobs.
- Multiprogramming involves the "simultaneous" operation of many jobs on the computerthe computer shares its resources among the jobs competing for its attention.
- Timesharing is a special case of multiprogramming in which dozens or even hundreds of users share a computer through terminals. The computer runs a small portion of one user's job, then moves on to service the next user. The computer does this so quickly that it might provide service to each user several times per second, so programs appear to run simultaneously.
- In 1977, Apple Computer popularized the phenomenon of personal computing. In 1981, IBM introduced the IBM Personal Computer, immediately legitimizing personal computing in business, industry and government organizations.
- With distributed computing, an organization's computing is distributed over networks to the sites at which the real work of the organization is performed. Today, information is shared easily across computer networks where file servers offer a common store of programs and data that may be used by client computers distributed throughout the networkhence the term client/server computing.
- Java has become the language of choice for developing Internet-based applications (and for many other purposes).
- Computer languages may be divided into three general types: machine languages, assembly languages and high-level languages.
- Any computer can directly understand only its own machine language. Machine languages generally consist of strings of numbers (ultimately reduced to 1s and 0s) that instruct computers to perform their most elementary operations one at a time. Machine languages are machine dependent.
- English-like abbreviations form the basis of assembly languages. Translator programs called assemblers convert assembly-language programs to machine language.
- Compilers translate high-level language programs into machine-language programs. High-level languages (like Java) contain English words and conventional mathematical notations.
- Interpreter programs directly execute high-level language programs without the need for compiling those programs into machine language.
- Objects are essentially reusable software components that are modeled in terms like those we use to describe things in the real world.
- Java originated at Sun Microsystems as a project for intelligent consumer-electronic devices. Java is now used to create Web pages with dynamic and interactive content, to develop large-scale enterprise applications, to enhance the functionality of Web servers, to provide applications for consumer devices and so on.
- Java programs consist of pieces called classes. Classes consist of pieces called methods that perform tasks and return information when they complete their tasks. Most Java programmers use the rich collections of existing classes in Java class libraries.
- C++, an extension of C, was developed by Bjarne Stroustrup in the early 1980s at Bell Laboratories. C++ provides a number of features that "spruce up" the C language, but more importantly, it provides capabilities for object-oriented programming.
- FORTRAN (FORmula TRANslator) was developed by IBM Corporation in the 1950s for scientific and engineering applications that require complex mathematical computations.
- COBOL (COmmon Business Oriented Language) was developed in 1959 by a group of computer manufacturers and government and industrial computer users. COBOL is used primarily for commercial applications that require precise and efficient manipulation of large amounts of data.
- Pascal was designed at about the same time as C. It was created by Professor Niklaus Wirth and was intended for academic use.
- Basic was developed in 1965 at Dartmouth College as a simple language to help novices become comfortable with programming.
- Ada was developed under the sponsorship of the United States Department of Defense (DOD) during the 1970s and early 1980s. One important capability of Ada is called multitasking; this allows programmers to specify that many activities are to occur in parallel.
- The BASIC (Beginner's All-Purpose Symbolic Instruction Code) programming language was developed in the mid-1960s by Professors John Kemeny and Thomas Kurtz of Dartmouth College as a language for writing simple programs. BASIC's primary purpose was to familiarize novices with programming techniques. Visual Basic was introduced in 1991 to simplify the process of developing Microsoft Windows applications.
- Comparably, to Java, the .NET platform enables Web-based applications to be distributed to many devices (even cell phones) and to desktop computers.
- Visual Basic .NET is designed for Microsoft's .NET programming platform. Visual Basic .NET offers enhanced object orientation over earlier versions of Visual Basic and makes use of .NET's powerful library of reusable software components called the Framework Class Library (FCL).
- Visual C++ is a Microsoft implementation of C++ that includes Microsoft's own extensions to the language. Early graphics and GUI programming in Visual C++ was implemented using the Microsoft Foundation Classes (MFC). Now, with the introduction of .NET, the FCL is shared among Visual Basic, Visual C++, C# (Microsoft's new language) and many other languages that Microsoft and other software vendors are making available for .NET.
- The C# programming language, developed at Microsoft by a team led by Anders Hejlsberg and Scott Wiltamuth, was designed specifically for the .NET platform as a language that would enable programmers to migrate easily to .NET.
- Java, through a technique called multithreading, enables programmers to write programs with parallel activities.
- The Internet was developed more than four decades ago with funding supplied by the Department of Defense. Today, the Internet is accessible by hundreds of millions of computers worldwide.
- The Web allows computer users to view multimedia-intensive documents over the Internet.
- Java source-code file names end with the .java extension.
- The Java compiler (javac) translates a Java program into bytecodesthe language understood by the Java interpreter. If a program compiles correctly, the compiler produces a file with the .class extension. This is the file containing the bytecodes that are interpreted during the execution phase.
- A Java program must first be placed in memory before it can execute. This is done by the class loader, which takes the .class file (or files) containing the bytecodes and transfers it to memory. The .class file can be loaded from a disk on your system or over a network.
- An application is a program that is normally stored and executed on the user's local computer. Applications are loaded into memory, then executed by the java interpreter.
- An applet is a program that is normally stored on a remote computer that users connect to via a Web browser. Applets are loaded from a remote computer into the browser to execute.
- Browsers are used to view HTML documents on the World Wide Web. When a browser encounters an applet in an HTML document, the browser launches the Java class loader to load the applet. Browsers that support Java have built-in Java interpreters. Once the applet is loaded, the Java interpreter in the browser begins executing the applet.
- Applets can also be executed from the command line using the appletviewer command provided with the Java 2 Software Development Kit (J2SDK). The appletviewer is commonly referred to as the minimum browserit knows only how to interpret applets.
- Before the bytecodes in an applet are executed by the Java interpreter built into a browser or the appletviewer, they are verified by the bytecode verifier to ensure that the bytecodes for downloaded classes are valid and that they do not violate Java's security restrictions.
- An intermediate step between interpreters and compilers is a just-in-time (JIT) compiler that, as the interpreter runs, produces compiled code for the programs and executes the programs in machine language rather than reinterpreting them. JIT compilers do not produce machine language that is as efficient as a full compiler.
- For organizations wanting to do heavy-duty information-systems development, Integrated Development Environments (IDEs) are available from the major software suppliers. The IDEs provide many tools for supporting the software-development process.
- Object orientation is a natural way of thinking about the world and of writing computer programs.
- The Unified Modeling Language (UML) is a graphical language that allows people who build systems to represent their object-oriented designs in a common notation.
- Humans think in terms of objects. Abstraction enables us to view screen images as people, planes, trees and mountains rather than as individual dots of color (called pixelsfor "picture elements"). Humans learn about objects by studying their attributes and observing their behaviors. Different objects can have similar attributes and can exhibit similar behaviors.
- Object-oriented design (OOD) models software components in terms of real-world objects. It takes advantage of class relationships, where objects of a certain class have the same characteristics. It takes advantage of inheritance relationships, and even multiple-inheritance relationships, where newly created classes of objects are derived by absorbing characteristics of existing classes and adding unique characteristics of their own. OOD encapsulates data (attributes) and functions (behavior) into objects; the data and functions of an object are intimately tied together.
- Objects have the property of information hidingalthough objects may know how to communicate with one another across well-defined interfaces, objects normally are not allowed to know how other objects are implemented.
- Object-oriented programming (OOP) allows programmers to implement object-oriented designs as working systems.
- In Java, the unit of programming is the class from which objects are eventually instantiated. Java programmers concentrate on creating their classes. Each class contains data and functions that manipulate that data. Data components are called fields. Function components are called methods.
- An instance of a class is called an object.
- Classes can have relationships with other classes. These relationships are called associations.
- With object technology, we can build much of the software we will need by combining "standardized, interchangeable parts" called classes.
- The process of analyzing and designing a system from an object-oriented point of view is called object-oriented analysis and design (OOAD).
- The Unified Modeling Language (the UML) is now the most widely used graphical representation scheme for modeling object-oriented systems. Those who design systems use the language (in the form of graphical diagrams) to model their systems.
- Over the past decade, the software-engineering industry has made significant progress in the field of design patternsproven architectures for constructing flexible and maintainable object-oriented software. Using design patterns can substantially reduce the complexity of the design process.
- Design patterns benefit system developers by helping to construct reliable software using proven architectures and accumulated industry expertise, promoting design reuse in future systems, identifying common mistakes and pitfalls that occur when building systems, helping to design systems independently of the language in which they will be implemented, establishing a common design vocabulary among developers and shortening the design phase in a software-development process.
- Designers use design patterns to construct sets of classes and objects.
- Creational design patterns describe techniques to instantiate objects (or groups of objects).
- Structural design patterns allow designers to organize classes and objects into larger structures.
- Behavioral design patterns assign responsibilities to objects.
|
|