w1b Software
w1b Software
Hardware &
Software
Memory
Input Output
Devices Devices
CPU
Software
System Application
Software Software
Software
• Application software
• Easy-to-use programs designed to perform specific
tasks
• System software
• Programs that support the execution and
development of other programs
• Two major types
• Operating systems
• Translation systems (compilers & linkers)
Copyright © 2000 by Brooks/Cole Publishing Company
A division of International Thomson Publishing Inc.
Computer Software Relationships
Computer Hardware
Application Software
A sequence of instructions
An algorthm A program
(in human language) (in computer language)
• Machine-dependent
• High-level language
• Readable
• Machine-independent
An example:
Machine binary language Low-level assembly High-level
How to translate?
Examples of compilers:
• Microsoft Visual C++, Eclipse, g++
Translation System
Execute
Integrated
Development Environments
• Combine all of the capabilities that a programmer would
want while developing software (VC++ 2008, Eclipse)
Editor
Compiler
Linker
Loader
Debugger
Viewer
Our First Program
// a simple program
#include <iostream> Comments
using namespace std;
Function int main() {
named cout << "Hello world!" << endl;
main() return 0;
indicates }
start of
program