07-12-2012, 02:06 PM
The Evolution of Programming Languages
Evolution of Programming.ppt (Size: 115 KB / Downloads: 94)
Stored Program Computing
von Neumann showed the existence of a Universal Machine (hardware) that can be customized using control inputs to carry out different tasks.
Software is the encoding of the task to control this machine.
Imperative Languages
Model of Computation
ALU + Memory + Input + Output
(von Neumann architecture)
Levels of Abstraction (“Human Interface”)
Machine Language
Binary Representation of the task
Assembly Language
Symbolic Representation of the task
Imperative Languages - C
The most successful ALGOL type language.
Lexical variable scope and recursion
A static type system which prevents many meaningless operations
Function parameters are generally passed by value (pass-by-reference is achieved in C by explicitly passing pointer values)
Heterogeneous aggregate data types (struct in C) which allow related data elements to be combined and manipulated as a unit
A small set (around 30) of reserved keywords
Functional Languages
Imperative programs are concerened with programming a series of instructions that change the state of program towards giving the solution.
Functional Programming is concerned with viewing a program as a series of mathematical functions.
Based upon the maths model of Lambda Calculus, developed by Turing, Church and Kleene in the 1930’s.
Church’s thesis says that there is no one form of computation that is any more powerful than another.
This hold true as we are studying Paradigms!
Logic Programming
Designed to allow mathematical axioms help prove a theorem.
Based on the idea of a Horn clause
H <- B1, B2,….Bn
The arrow means “if” and the commas mean “and”
We will be studying Logic programming via Prolog
Scripting
Another form of programming is via scripting.
Huge amount of scripting languages,
Awk, sed, Bash, Javascript, UnrealScript etc
We will intoduce scripting via Bash and Python in this course.
Python uses dynamic typing and features a very clean syntax. Multi Paradigm!