history of programming languages. punch cards jacquard looms 1801? analytical engine (charles...

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

Post on 11-Jan-2016

220 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

PowerPoint Presentation

History ofProgramming Languages

1History of Programming LanguagesPunch cardsJacquard looms 1801? Analytical engine (Charles Babbage and Ada Byron Lovelace)US Census data 1890 (Herman Hollerith)Hand-coded machine language programs10110000 01100001 Assembly language programs mov ds,axModern programming languages

This portrait of Jacquardwas woven insilk on a Jacquard loom and required 24,000 punched cards to create (1839)2Charles BabbagesAnalytic Engine 1834Earliest known computerNever fully builtOperations and variables on separate punch cardsConditional jumps accomplished mechanically by physically jumping over a band of cardsBabbage first computer scientist. Lady Ada Byron first computer programmer.

3Herman Hollerith TabulatorPunch cards readerDesigned to tabulate census data in 1890Reduced census from 7 years to 3 years for 63 M people

Electronic Numerical Integrator And Computer 1946ENIAC was first general purpose digital computerOccupied about 1,800 square feet and used about 18,000 vacuum tubes, weighing almost 50 tons One thousand times faster than electro-mechanical machines

5Programming Language GenerationsLate 1940sBinary CodeNative computer languageConsists only of 0s and 1s0s = off1s = onDifficult for humans to read, write, and debugFast and efficient, executed directly on the CPU

6Programming Language GenerationsHow to code Hello World in Binary

01001000 01100101 01101100 01101100 01101111 = Hello00100000 = Space01110111 01101111 01110010 01101100 01100100 = World

7Programming Language GenerationsEarly 1950s

Assembly languagesSimple mnemonic instructions Assembler translates into machine codeSpecific to each type of processor, not portable

8Programming Language GenerationsCode 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 end9Programming Language GenerationsMid 1950s - Present

High level, general-purpose

FORTRAN1950s), LISP(1958), COBOL(1959), ALGOL, Basic (1964), Ada, C(1972)Easier for humans to read, write, debugPortable can be run on two or more kinds of processorsHigh level languages are handle in two waysCompiler translates into machine code before runningInterpreter translates into machine code at runtime10Programming Language GenerationsFortran Among the earliest programming languagesWell-suited for mathematical calculationsToday used in some of the most demanding supercomputing tasksWeather and climate modelingLISPCreated as a practical mathematical notation for computersLink lists are one of Lisp language's majordata structuresFavored programming language forartificial intelligence(AI) researchCOBOLPopular for business data-processing on larger computersDesigned for use by Banks, utility companies, manufactures, government agencies and other big companies.PascalNamed after mathematician, Blaise PascalPut into practice structured programming easier to read, write, debugEasy to learn and often used in beginning programming classes

11Programming Language GenerationsMid 1960s - present

Object-Oriented Programming (OOP)

Simula(1960s),Smalltalk(1970s), C++(1980s), C#, Eiffel, Java (1990s), Objective-C, C#, Pearl, Python, Ruby, PHPUsing Objects allowing programmers to write code independent of specific application.Designing modules of reusable software systemsObjects contain both data and functions Easily used across multiple systems

12Programming Language GenerationsSpecific Languages (1970s present)Query languages, report generators, systems engineeringMaple, Mathematica, Postscript, SPSS, SQL

Logic programming languages(1980s - ): Solve problems using constraints rather than algorithms, used in Artificial IntelligenceProlog - natural language processing

13Programming Language GenerationsWorld Wide Web (1990 present)Internet languages allow everyday people to access information stored on the webHTML, JavaScript, PHP, Java, ASP, ASP.NetHTML (Hyper Markup Language) is a basic language for building web pagesJavaScript (1995) Allows web pages to be interactivePHP is a general pupose language designed to produce dynamic Web pages.14A family tree of languagesFortranBASICCobolLISPSchemeMLPrologPL/1Algol 60Algol 68PascalModula 3AdaCC++SimulaSmalltalkJavaDylanRubyPerlPythonC#Some of the 2400 + programming languages15

Programming Language industry usesLanguageIndustryWhy is it used?JavaMostWidely used in industryCAllVery widely usedC++MostWidely used in operating systems, desktop apps, developing games, hardware drivers and much else.C#ManyMicrosoft developed and in high demandObjective-CSoftwareCore of both of Apple's operating systemsPHPWebServer-side scripting language runs on more than 20 million websitesPythonScience,Business EntertainmentGeneral purpose programming languageASP.NETWebMicrosoft server side Web developmentPerlWeb,Business,ScienceDynamic programming language with may usesJavascriptWebMake web pages interactiveHTMLWebPrimary language for internetSQLDatabaseAccessing structured databases3.a Create a list of 10 popular programming languages in use today.SourcesWikipedia http://www.cs.middlebury.edu18