Outline for the Quarter A. B. C. D. E. F.
Evolution of Programming Languages Visual Basic 6.0 Environment Starting a Project Working with Forms Variables and Constants 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