You are on page 1of 18

Chapter 1 Introduction to Computers, the Internet and the World Wide Web

Outline
1.1 1.2 1.3 1.4 1.5 Introduction What is a Computer? Computer Organization Evolution of Operating Systems Personal Computing, Distributed Computing and Client/ Server Computing Machine Languages, Assembly Languages and High-level Languages Structured Programming Object-Oriented Programming Hardware Trends History of the Internet History of the World Wide Web History of Perl

1.6
1.7 1.8 1.9 1.10 1.11 1.12

2001 Prentice Hall, Inc. All rights reserved.

Chapter 1 Introduction to Computers, the Internet and the World Wide Web
Outline
1.13 1.14 Perl Library General Notes About Perl and This Book

2001 Prentice Hall, Inc. All rights reserved.

1.1 Introduction
We will learn
How to use Perl with the Common Gateway Interface (CGI) for building dynamic, Web-based applications

This course is appropriate for


Novices with little or no programming experience Experienced professionals building substantial information systems

2001 Prentice Hall, Inc. All rights reserved.

1.2 What is a Computer?


Computer
Device capable of performing computations and making logical decisions Computers process data under the control of sets of instructions called computer programs

Hardware
Various devices comprising a computer Keyboard, screen, mouse, disks, memory, CD-ROM, and processing units

Software
Programs that run on a computer
2001 Prentice Hall, Inc. All rights reserved.

1.3 Computer Organization


Logical units of a computer
Input unit Output unit Memory unit Arithmetic and logic unit (ALU) Central processing unit (CPU) Secondary storage unit

2001 Prentice Hall, Inc. All rights reserved.

1.4 Evolution of Operating Systems


Batch processing in early systems Operating systems
Early systems increased throughput Multiprogramming
Simultaneous operation of many jobs

Timesharing
Many users sharing a computer at once Development of UNIX

2001 Prentice Hall, Inc. All rights reserved.

1.5 Personal Computing, Distributed Computing, and Client/Server Computing Personal computers
Economical enough for individual

Distributed computing
Computing distributed over networks

Client/server computing
Sharing of information across computer networks between file servers and clients (personal computers)

2001 Prentice Hall, Inc. All rights reserved.

1.6 Machine Languages, Assembly Languages and High-level Languages Three types of programming languages
1. Machine languages
Strings of numbers giving machine specific instructions Example: +1300042774 +1400593419 +1200274027

2. Assembly languages
English-like abbreviations representing elementary computer operations (translated via assemblers) Example: LOAD BASEPAY ADD OVERPAY STORE GROSSPAY

2001 Prentice Hall, Inc. All rights reserved.

1.6 Machine Languages, Assembly Languages and High-level Languages


3. High-level languages
Codes similar to everyday English Use mathematical notations (translated via compilers) Example: grossPay = basePay + overTimePay

Other high-level languages


FORTRAN
Used for scientific and engineering applications

COBOL
Used to manipulate large amounts of data

2001 Prentice Hall, Inc. All rights reserved.

1.7 Structured Programming


Structured programming
Disciplined approach to writing programs Clear, easy to test and debug and easy to modify

Development of programming languages


Pascal
Designed for teaching structured programming

C
Developed for writing systems software and compilers

Ada
Developed to meet the needs of the Department of Defense Multitasking
2001 Prentice Hall, Inc. All rights reserved.

1.8 Object-Oriented Programming


Software reuse Programs more understandable and easier to maintain History
Dates back to at least mid 1960s Development of C++
Added capabilities to create and manipulate objects

Development of Java in early 1990s


Completely object-oriented language

2001 Prentice Hall, Inc. All rights reserved.

1.9 Hardware Trends


Improving technologies
Internet community thrives on improvements of
Hardware Software Communications

Cost of products and services


Consistently dropping over the decades

Computer capacity and speed


Doubles every two years (on average)

Microprocessor chip
Laid groundwork in late 1970s and 1980s for productivity improvements of the 1990s
2001 Prentice Hall, Inc. All rights reserved.

1.10 History of the Internet


The Internet enables
Quick and easy communication via e-mail International networking of computers

Packet switching
The transfer of digital data via small packets Allows multiple users to send and receive data simultaneously

No centralized control
If one part of the Internet fails, other parts can still operate

Bandwidth
Information carrying capacity of communications lines
2001 Prentice Hall, Inc. All rights reserved.

1.11 History of the World Wide Web


WWW
Allows computer users to locate and view multimediabased documents Introduced in 1990 by Tim Berners-Lee

Internet today
Mixes computing and communications technologies Makes information constantly and instantly available to anyone with a connection

2001 Prentice Hall, Inc. All rights reserved.

1.12 History of Perl


Developed by Larry Wall in 1987
Aimed to integrate features of the UNIX languages awk and sed with framework provided by shell

Gained support in open-source community Versions of Perl


Perl 3
Adopted GNU General Public License

Perl 4
Adopted Artistic License to attract more users

Perl 5
Major reorganization of Perl language
2001 Prentice Hall, Inc. All rights reserved.

1.12 History of Perl


Perl 6
Development announced on July 18, 2000 Will be a complete rewrite of internals and externals of Perl

2001 Prentice Hall, Inc. All rights reserved.

1.13 Perl Library


Perl modules
Reusable pieces of software Defined in library files ending in .pm Primary distribution center is the Comprehensive Perl Archive Network (CPAN)

2001 Prentice Hall, Inc. All rights reserved.

1.13 General Notes About Perl and This Book Perl approach to programming
Qualities of a good programmer
Laziness Reusable code Impatience Functional programs Hubris Easy to understand code

Programs can be written in many different ways Highly portable

2001 Prentice Hall, Inc. All rights reserved.

You might also like