Upload
ursula-lewis
View
222
Download
0
Embed Size (px)
Citation preview
History ofProgramming Languages
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)
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.
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
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
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
Programming Language Generations
How to code “Hello World” in Binary
01001000 01100101 01101100 01101100 01101111 = Hello 00100000 = Space 01110111 01101111 01110010 01101100 01100100 = World
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
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
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
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
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
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
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.
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
Programming Language industry uses
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.
Sources Wikipedia http://www.cs.middlebury.edu