CHTP4 01
CHTP4 01
Introduction
What Is a Computer?
Computer Organization
Evolution of Operating Systems
Personal Computing, Distributed Computing and Client/Server
Computing
1.6
Machine Languages, Assembly Languages and High-level
Languages
1.7
The History of C
1.8
The C Standard Library
1.9
The Key Software Trend: Object Technology
1.10
C++ and C++ How to Program
1.11
Java and Java How to Program
1.12
Other High-level Languages
1.13
Structured Programming
1.14
The Basics of a typical C Program Development Environment
Copyright 19922004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
Hardware Trends
History of the Internet
History of the World Wide Web
General Notes About C and this Book
Copyright 19922004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
Objectives
In this chapter, you will learn:
To understand basic computer concepts.
To become familiar with different types of programming
languages.
To become familiar with the history of the C programming
language.
To become aware of the C standard library.
To understand the elements of a typical C program development
environment.
To appreciate why it is important to learn C in a first programming
course.
To appreciate why C provides a foundation for further study of
programming languages in general and of C++ and Java in
particular.
Copyright 19922004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
1.1 Introduction
We will learn
The C programming language
Structured programming and proper programming techniques
Java
Chapters 24 30 introduce the Java programming language
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
Copyright 19922004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
2. Output unit
3. Memory unit
Copyright 19922004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
Operating systems
Manage transitions between jobs
Increased throughput
Amount of work computers process
Multiprogramming
Computer resources are shared by many jobs or tasks
Timesharing
Computer runs a small portion of one users job then moves
on to service the next user
Copyright 19922004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
Distributed computing
Computing distributed over networks
Client/server computing
Sharing of information across computer networks between
file servers and clients (personal computers)
Copyright 19922004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
2. Assembly languages
BASEPAY
OVERPAY
GROSSPAY
Copyright 19922004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
Copyright 19922004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
10
11
1.7 History of C
C
Evolved by Ritchie from two previous programming
languages, BCPL and B
Used to develop UNIX
Used to write modern operating systems
Hardware independent (portable)
By late 1970's C had evolved to "Traditional C"
Standardization
Many slight variations of C existed, and were incompatible
Committee formed to create a "unambiguous, machineindependent" definition
Standard created in 1989, updated in 1999
Copyright 19922004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
12
Copyright 19922004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
Very reusable
More understandable, better organized, and easier to
maintain than procedural programming
Favor modularity
Copyright 19922004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
13
14
Learning C++
Because C++ includes C, some feel it is best to master C,
then learn C++
Starting in Chapter 15, we begin our introduction to C++
Copyright 19922004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
15
Copyright 19922004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
16
COBOL
Used to manipulate large amounts of data
Pascal
Intended for academic use
Copyright 19922004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
17
Multitasking
Specifying that many activities run in parallel
Copyright 19922004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
Editor
Disk
Preprocessor
Disk
18
Program is created in
the editor and stored
on disk.
Preprocessor program
processes the code.
Compiler
Disk
Compiler creates
object code and stores
it on disk.
Linker
Disk
Primary Memory
Loader
Disk
6. Execute
Primary Memory
CPU
Copyright 19922004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
..
..
..
19
Processor speeds
The speeds at which computers execute their programs
Copyright 19922004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
20
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
TCP/IP
Bandwidth
Information carrying capacity of communications lines
Copyright 19922004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
21
Copyright 19922004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
C is a portable language
Programs can run on many different computers
However, portability is an elusive goal
22