Show Menu
Cheatography

Zuse's Plankalk

 
Program calculus
had advanced features & Data structures
arrays and records never implem­ented

Pseudo Codes

 
Short code developed by John Mauchly 1949.
Mathem­atical expres­sions were coded.
Interp­reted
50x slower than machine code

Speedc­oding

 
IBM 701 John Backus 1954
condit­ional & uncond­itional branching
automatic increm­enting of address register
interp­reted

UNIVAL

 
Primitive compiler
Grace Hopper
Pseudocode expanded into machine code

Fortran 77: 1978

 
Character string
logical loop control statement
If-The­n-Else statement

Fortran 95 & 2003 & 2008

 
Relatively minor changes

ALGOL 58

Data types formalized
Names could be any length
Arrays could have any number of subscripts
Parameters were separated by mode(in & out)
[] for subscripts
compound statem­ent­s(b­egi­n...end)
No I/O-would make it machine dependent
if had an else-if clause
:= assignment
; as separation

COBOL(­common business oriented language)

specif­ically designed for business.
based on Flow-m­atic.

Dennis Ritchie & Brian Kernighan

wrote the 1st c book; can be used for most applic­ations
poor type checking; it was free.
used to write UNIX operating systems

PHP

 
Hypertext Prepro­cessor, Rasmus Lerdorf
service side HTML
 

Fortra­n(F­ormula Transl­ator)

 
-Fortran 0: 1954 not implem­ented
-Fortran 1: 1957
designed for the IBM 704
index registers & floating point hardware
led to compiled programs
-Envir­onment Factors
computer memory was small & unreliable
created for scientific applic­ations
no progra­mming method­ology or tools
hardware was expensive
-Other Features
no data types
i,j,k,­l,m,n were implicitly integers.

Fortran II 1958

 
Fixed problems with Fortran I
indepe­ndent compil­ation of subrou­tines

Fortran IV 1960-1962

 
Explicit type declar­ations
Logical selection statem­ent(if)
subprogram names could be parameters
(subpr­ogram = functions)
ANSI standard in 1966

Fortran 90

modules
dynamic arrays
pointers
recursion
CASE statement
parameter type checking

ALGOL 60

BNF(Ba­cku­s-Naur Form)
6 Days
block structure was introduced
pass by value & pass by name
recursive procedures
dynamic arrays

ALGOL 60: Succes­s/F­ailures

-Success
standard way to publish algorithms for over 20yrs.
all subsequent imperative lang. are based on ALGOL(­jav­a,c­,c++...
first machine indepe­ndent language.
first language whose syntax was formally define­d(BNF)
-Failures
never a commercial success
not widely used in the U.S.
lack of support from IBM.
Lack of I/0.
too flexible, hard to implement.
popularity of Fortran.

Scripted Lang.

-Pearl­(de­signed by Larry Wall 1987)
wide spread use on the web
used as a replac­ement for UNIX admin. lang.
-JavaS­cri­pt(­began at Netscape)
used to create dynamic HTML documents.
pure interp­ret­ati­on;­client side HTML
related to Java only by syntax
 

LISP

 
-List Processing
designed at MIT by McCarthy
-AI Research
data is processed in Lists (rather than arrays)
symbolic comput­ation (rather than numeric)
-2 data types: atoms & lists
-syntax based on lambda calculus

LISP Evaluation

 
-Pioneered functional progra­mming
no variables or assignment
program controlled with applic­ation of functions: recursion, condit­ional expres­sions.

Related to LISP

scheme developed at MIT
ML
common LISP(large & complex)
Haskell & F#

ALGOL

The goal was to create a universal language.
Languages were machine dependent.
GAMM 1955(fear of being dominated by america)
attempted joint design process with ACM.

Goals

Syntax close to math.
Possible to use the language to describe algori­thms.
Must be mechan­ically transl­atable into machine code.

Flow-Matic

Names up to 12 charac­ters.
English words for operators.
Data & code was separate.
First word of every statement was a verb.

COBOL Design process

look like english.
easy to use(even if less powerful)
broader base of users.
address current compiler problems.
committee from manufa­cturers & D.o.D
design problems: arithmetic expres­sions, subscripts

COBOL contri­butions

1st macro facility in a high level language.
records
nested selection statem­ents.
long names(from flow-m­atic)
still most widely used language for businesses
mandated by D.o.D
separate data division
strong on reports

C++(de­sce­ndant of ALGOL)

Bell Labs by Stroustrup 1980
Large & complex; Exception handling
ANSI standard Nov. 1997; Microsoft vers. MC++
Evolved from C & SIMULA 67
 

Basic(­Beg­inner's All-pu­rpose Symbolic Inst. Code)

teaching language; no respect; easy to learn
included on first PCs; small implem­ent­ation
Design to teach students their 1st. language.
Mather & Waite 1971

Basic design goal

Easy for non-sc­ience students
must be pleasant & friendly.
quick turn around on homework
user time more important than computer time.
free and private access.

PL/I

cross between fortran & cobol
teachi­ng/­never became a commercial success
IBM design
use for scientific computing and business computing

Proble­m-PL/I

Tried to be everything for everybody.
Original name NPL(New progra­mming lang.)
Too many featur­es/­con­str­ucts.

Dynamic Languages

APL(a progra­mming lang.):
SNOBOL:
Hardware descri­ption lang.
designed for string manipu­lative @ Bell labs 1964
difficult to read
still used for test processing
1960s Ken Iverson
Powerful for string pattern matching
Many operators
Minimal impact on current languages.
-SIMULA 67 extension of ALGOL

Descendant of Algol

 

Pascal 1971

Niklus Worth(­Vert); small, simple
designed for teaching; nothing new
largest impact was on teaching.
Mid 70s & late 90s students learned PASCAL

C Progra­mming

Bell Labs;D­ennis Ritchie
Early ancestors developed at Cambridge
Designed for systems program
1st high & low level lang.

ADA-D.o.D

Ada Lovela­ce(­world's first computer progra­mmer)
Mandated by the D.o.D
 

Comments

No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets

          Regular Expressions Cheat Sheet
          PHP Cheat Sheet
          Python Cheat Sheet