Introduction

What you will learn
Session1- Introduction
Outline
„
„
„
„
„
„
„
„
„
„
What you will learn
Some fundamental computer concepts
History of C and C++
Other High-level Languages
Structured Programming
The Key Software Trend: Object Technology
C++ Standard Library
Basics of a Typical C++ Environment
Session1
Advanced programming- Khansari
„
1
Some fundamental computer
concepts
„
„
„
„
Interface between user and hardware
Manage user tasks
„
Three types of programming languages
„
„
„
Session1
Advanced programming- Khansari
„
Machine languages
Assembly languages
High-level languages
C evolved from two other programming languages,
BCPL and B by Ritchie and Kernighan at Bell Lab
(1972)
C++ evolved from C by Stroustrup at Bell lab (1980)
ANSI C
„
„
Established worldwide standards for C at 1990 (ANSI/ISO
9899). The main benefit is portability.
C++ make C better by
„
Providing capabilities for object-oriented programming
„
„
Session1
Advanced programming- Khansari
2
History of C and C++
Operating systems
„
C++ programming language
Object oriented concepts and
programming
Recent technologies in programming
3
Session1
Objects are reusable software components that model things in
the real world
Object-oriented programs are easy to understand, correct and
modify
Advanced programming- Khansari
4
1
Other High-level Languages
„
Java
„
„
„
„
„
„
„
„
„
Teaching structured programming
Disciplined approach to writing programs
Clear, easy to test and debug, and easy to modify
Pascal programming language by Nicklaus Wirth in
1971
ADA by USA Department of Defense (1980)
„
Multitasking
„
Manipulating large amounts of data
Many activities to run in parallel
FORTRAN
„
Scientific and engineering applications
Session1
Advanced programming- Khansari
5
The Key Software Trend: Object
Technology
„
Structured programming
COBOL
„
„
„
Create web pages with dynamic and interactive content
Develop large-scale enterprise applications
Enhance the functionality of web servers
Provide applications for consumer devices (such as cell
phones, pagers and personal digital assistants)
Pascal
„
„
Structured Programming
„
„
„
„
„
Session1
Reusable software components that model real world items
Meaningful software units
Date objects, time objects, paycheck objects, invoice
objects, audio objects, video objects, file objects, record
objects, etc.
Any noun can be represented as an object
More understandable, better organized and easier to
maintain than procedural programming
Help modularity
Advanced programming- Khansari
Advanced programming- Khansari
6
C++ Standard Library
Objects
„
Session1
7
„
C++ programs
„
C++ standard library
„
„
Session1
Built from pieces called classes and functions
Provides rich collections of existing classes and
functions for all programmers to use
Advanced programming- Khansari
8
2