Outline for the Quarter
A. Evolution of Programming Languages
B. Visual Basic 6.0 Environment
C. Starting a Project
D. Working with Forms
E. Variables and Constants
F. Operators and Functions
Evolution of
Programming
Languages
Lecture
First Generation Languages
(1GL)
Machine Language
Uses 1’s and 0’s (binary)
Advantages
Fast and Efficient
Directly understood by the computer
Disadvantages
Cumbersome – very difficult to learn and use
Machine dependent
Second Generation Language
(2GL)
Assembly or Symbolic language
Uses mnemonics or very short commands
Advantages
Less difficult to learn and use (compared to 1GL)
Fast and Efficient
Disadvantages
Still difficult to learn and use
Needs to be assembled into machine language
Machine dependent (non-portable)
Third Generation Languages
(3GL)
High Level Language
Advantages
Easier for programmers to learn and use
Supports data structures, control structures and
structured decomposition
Machine-independent (portable)
Disadvantages
Needs to be compiled to produce object code
Program size becomes larger due to overhead code
Fourth Generation Languages
(4GL)
Declarative Language
Advantages
English-like and non-procedural
Easier to learn and use (compared to 3GL)
Faster to program due to less coding required
Machine-independent (portable)
Disadvantages
Not suitable/effective for all programming
requirements
Inelegant code and difficult to maintain
Programming Paradigms
A model or way of thinking about computing
A fundamental style of programming
regarding how solutions to problems are
formulated in a programming language
Provides and determines the view that the
programmer has of the execution of the
program
Imperative Programming
Also called procedural programming
Oldest and most traditional
Declarative description of the problem as a
set of rules is provided
“How to do”
Like a recipe
Examples: FORTRAN, Algol, COBOL,
Pascal, C
Functional Programming
An expression-oriented paradigm that is close
to mathematical specification
Emphasis on evaluation of expressions
Used in academia rather than in commercial
software development
Examples: Lisp (John McCarthy), Haskell
(Simon Peyton-Jones),
Logic Programming
Based on logical deduction
Declarative description of the problem as a
set of rules provided, from which the
solutions are then inferred
Example: Prolog (Alain Colmerauer)
Object-Oriented Programming
(OOP)
Uses objects and their interactions to design
applications and computer programs
Strongly emphasizes modularity
Class – defines the abstract characteristics of a
thing (object)
Object – an instance in a class
Method – ability of an object
Example: Java (Sun Microsystems), C++
(Bjourne Stroustroup), Visual Basic