Upload
quentin-houston
View
214
Download
0
Embed Size (px)
Citation preview
2001 Prentice Hall, Inc. All rights reserved.
Chapter 1 – Introduction toComputers, the Internet and the World Wide
WebOutline1.1 Introduction1.2 What is a Computer?1.3 Computer Organization1.4 Evolution of Operating Systems1.5 Personal Computing, Distributed Computing and
Client/ Server Computing1.6 Machine Languages, Assembly Languages and
High-level Languages1.7 Structured Programming1.8 Object-Oriented Programming1.9 Hardware Trends1.10 History of the Internet1.11 History of the World Wide Web1.12 History of Perl
2001 Prentice Hall, Inc. All rights reserved.
Chapter 1 – Introduction toComputers, the Internet and the World Wide
WebOutline1.13 Perl Library1.14 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 languages1. 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 BASEPAYADD OVERPAYSTORE 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 multimedia-
based 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