Top Banner
History of Programming Languages
18

History of Programming Languages. Punch cards Jacquard looms 1801? Analytical engine (Charles Babbage and Ada Byron Lovelace) US Census data 1890 (Herman.

Jan 11, 2016

Download

Documents

Ursula Lewis
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: History of Programming Languages. Punch cards Jacquard looms 1801? Analytical engine (Charles Babbage and Ada Byron Lovelace) US Census data 1890 (Herman.

History ofProgramming Languages

Page 2: History of Programming Languages. Punch cards Jacquard looms 1801? Analytical engine (Charles Babbage and Ada Byron Lovelace) US Census data 1890 (Herman.

History of Programming Languages

Punch cards Jacquard looms 1801? Analytical engine

(Charles Babbage and Ada Byron Lovelace)

US Census data 1890 (Herman Hollerith)

Hand-coded machine language programs

10110000 01100001 Assembly language

programs mov ds,ax

Modern programming languages

This portrait of Jacquard was woven in silk on a Jacquard

loom and required 24,000 punched cards to create (1839)

Page 3: History of Programming Languages. Punch cards Jacquard looms 1801? Analytical engine (Charles Babbage and Ada Byron Lovelace) US Census data 1890 (Herman.

Charles Babbage’sAnalytic Engine 1834

● Earliest known computer● Never fully built● Operations and variables on separate punch

cards● Conditional jumps accomplished mechanically

by physically jumping over a band of cards● Babbage first computer scientist. Lady Ada

Byron first computer programmer.

Page 4: History of Programming Languages. Punch cards Jacquard looms 1801? Analytical engine (Charles Babbage and Ada Byron Lovelace) US Census data 1890 (Herman.

Herman Hollerith Tabulator 

Punch cards reader Designed to tabulate

census data in 1890 Reduced census

from 7 years to 3 years for 63 M people

Page 5: History of Programming Languages. Punch cards Jacquard looms 1801? Analytical engine (Charles Babbage and Ada Byron Lovelace) US Census data 1890 (Herman.

Electronic Numerical Integrator And Computer 1946

● ENIAC was first general purpose digital computer● Occupied about 1,800 square feet and used about

18,000 vacuum tubes, weighing almost 50 tons ● One thousand times faster than electro-mechanical

machines

Page 6: History of Programming Languages. Punch cards Jacquard looms 1801? Analytical engine (Charles Babbage and Ada Byron Lovelace) US Census data 1890 (Herman.

Programming Language Generations

Late 1940’s

Binary Code Native computer language Consists only of 0s and 1s

0’s = off 1’s = on

Difficult for humans to read, write, and debug

Fast and efficient, executed directly on the CPU

Page 7: History of Programming Languages. Punch cards Jacquard looms 1801? Analytical engine (Charles Babbage and Ada Byron Lovelace) US Census data 1890 (Herman.

Programming Language Generations

How to code “Hello World” in Binary

01001000 01100101 01101100 01101100 01101111 = Hello 00100000 = Space 01110111 01101111 01110010 01101100 01100100 = World

Page 8: History of Programming Languages. Punch cards Jacquard looms 1801? Analytical engine (Charles Babbage and Ada Byron Lovelace) US Census data 1890 (Herman.

Programming Language Generations

Early 1950’s

Assembly languages Simple mnemonic instructions <opcode> <operands>

Assembler translates into machine code Specific to each type of processor, not portable

Page 9: History of Programming Languages. Punch cards Jacquard looms 1801? Analytical engine (Charles Babbage and Ada Byron Lovelace) US Census data 1890 (Herman.

Programming Language Generations

Code for adding two numbers in Assembly Language.model small.data opr1 dw 1234h opr2 dw 0002h result dw 01 dup(?),'$'.code mov ax,@data mov ds,ax mov ax,opr1 mov bx,opr2 clc add ax,bx mov di,offset result mov [di], ax mov ah,09h mov dx,offset result int 21h mov ah,4ch int 21h end

Page 10: History of Programming Languages. Punch cards Jacquard looms 1801? Analytical engine (Charles Babbage and Ada Byron Lovelace) US Census data 1890 (Herman.

Programming Language Generations

Mid 1950’s - Present

High level, general-purpose

FORTRAN1950’s), LISP(1958), COBOL(1959), ALGOL, Basic (1964), Ada, C(1972)

Easier for humans to read, write, debug Portable – can be run on two or more kinds of processors High level languages are handle in two ways

Compiler translates into machine code before running Interpreter translates into machine code at runtime

Page 11: History of Programming Languages. Punch cards Jacquard looms 1801? Analytical engine (Charles Babbage and Ada Byron Lovelace) US Census data 1890 (Herman.

Programming Language Generations Fortran

Among the earliest programming languages Well-suited for mathematical calculations Today used in some of the most demanding supercomputing tasks

Weather and climate modeling

LISP Created as a practical mathematical notation for computers Link lists are one of Lisp language's major data structures Favored programming language for artificial intelligence (AI) research

COBOL Popular for business data-processing on larger computers Designed for use by Banks, utility companies, manufactures,

government agencies and other big companies. Pascal

Named after mathematician, Blaise Pascal Put into practice structured programming – easier to read, write, debug Easy to learn and often used in beginning programming classes

Page 12: History of Programming Languages. Punch cards Jacquard looms 1801? Analytical engine (Charles Babbage and Ada Byron Lovelace) US Census data 1890 (Herman.

Programming Language Generations

Mid 1960’s - present

Object-Oriented Programming (OOP)

Simula(1960’s),Smalltalk(1970’s), C++(1980’s), C#, Eiffel, Java (1990’s), Objective-C, C#, Pearl, Python, Ruby, PHP

Using Objects allowing programmers to write code independent of specific application.

Designing modules of reusable software systems Objects contain both data and functions Easily used across multiple systems

Page 13: History of Programming Languages. Punch cards Jacquard looms 1801? Analytical engine (Charles Babbage and Ada Byron Lovelace) US Census data 1890 (Herman.

Programming Language Generations

Specific Languages (1970’s – present)

Query languages, report generators, systems engineering Maple, Mathematica, Postscript, SPSS, SQL

Logic programming languages(1980s - ):

Solve problems using constraints rather than algorithms, used in Artificial Intelligence Prolog -  natural language processing

Page 14: History of Programming Languages. Punch cards Jacquard looms 1801? Analytical engine (Charles Babbage and Ada Byron Lovelace) US Census data 1890 (Herman.

Programming Language Generations

World Wide Web (1990 – present)

Internet languages allow everyday people to access information stored on the web HTML, JavaScript, PHP, Java, ASP, ASP.Net HTML (Hyper Markup Language) is a basic language

for building web pages JavaScript (1995) – Allows web pages to be

interactive PHP is a general pupose language designed to

produce dynamic Web pages.

Page 15: History of Programming Languages. Punch cards Jacquard looms 1801? Analytical engine (Charles Babbage and Ada Byron Lovelace) US Census data 1890 (Herman.

A family tree of languages

Fortran

BASIC

CobolLISP

Scheme

ML

Prolog

PL/1Algol 60

Algol 68Pascal

Modula 3Ada

C

C++

Simula

Smalltalk

Java

Dylan

Ruby

Perl

PythonC#

Some of the 2400 + programming languages

Page 16: History of Programming Languages. Punch cards Jacquard looms 1801? Analytical engine (Charles Babbage and Ada Byron Lovelace) US Census data 1890 (Herman.

Programming Language industry uses

Page 17: History of Programming Languages. Punch cards Jacquard looms 1801? Analytical engine (Charles Babbage and Ada Byron Lovelace) US Census data 1890 (Herman.

Language Industry Why is it used?

Java Most Widely used in industry

C All Very widely used

C++ Most Widely used in operating systems,  desktop apps, developing games, hardware drivers and much else.

C# Many Microsoft developed and in high demand

Objective-C Software Core of both of Apple's operating systems

PHP Web Server-side scripting language runs on more than 20 million websites

Python Science,Business Entertainment

General purpose programming language

ASP.NET Web Microsoft server side Web development

Perl Web,Business,Science

Dynamic programming language with may uses

Javascript Web Make web pages interactive

HTML Web Primary language for internet

SQL Database Accessing structured databases

3.a Create a list of 10 popular programming languages in use today.

Page 18: History of Programming Languages. Punch cards Jacquard looms 1801? Analytical engine (Charles Babbage and Ada Byron Lovelace) US Census data 1890 (Herman.

Sources Wikipedia http://www.cs.middlebury.edu