History of Programming 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’s Analytic 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 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 Some of the 2400 + programming languages Fortran BASIC Cobol LISP Scheme ML Prolog PL/1 Algol 60 Algol 68 Pascal Modula 3 Ada C C++ Simula Smalltalk Java Dylan Ruby Perl Python C#
Programming Language industry uses
3.a Create a list of 10 popular programming languages in use today. Industry Why is it used? Java Most Widely used in industry C All Very widely used C++ 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 Microsoft server side Web development Perl Web,Business, Science Dynamic programming language with may uses Javascript Make web pages interactive HTML Primary language for internet SQL Database Accessing structured databases
Sources Wikipedia http://www.cs.middlebury.edu