History of Programming Languages

Slides:



Advertisements
Similar presentations
Computer History.
Advertisements

Component 4: Introduction to Information and Computer Science Unit 5: Overview of Programming Languages, Including Basic Programming Concepts Lecture 1.
Programming Languages Language Design Issues Why study programming languages Language development Software architectures Design goals Attributes of a good.
The Binary Machine Modern high-level programming languages are designed to make programming easier. On the other end, the low level, all modern digital.
Chapter Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing Describe.
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
Chapter 1 The Big Picture.
1 Lecture 1  Getting ready to program  Hardware Model  Software Model  Programming Languages  The C Language  Software Engineering  Programming.
Appendix The Continuing Story of the Computer Age.
Lecture 2 Computer development history. Topic History of computer development Computer generation Programming language.
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
1 Chapter 1 The Big Picture. 2 2 Computing systems are dynamic entities used to solve problems and interact with their environment. They consist of devices,
SOFTWARE SYSTEMS SOFTWARE APPLICATIONS SOFTWARE PROGRAMMING LANGUAGES.
Some of these slides are based on material from the ACM Computing Curricula 2005.
A Brief History of Computers
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
1 6 Abacus An early device to record numeric values Blaise Pascal Mechanical device to add, subtract, divide & multiply Joseph Jacquard Jacquard’s Loom,
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
1 Programming Languages Marjan Sirjani 2 1- The Study of Programming Languages The purpose of language is simply that it must convey meaning. (Confucius)
CS 415: Programming Languages Chapter 1 Aaron Bloomfield Fall 2005.
Chapter 01 Nell Dale & John Lewis.
R.D.D. HIGH SCHOOL, BONAIGARH
1 Chapter-01 Introduction to Computers and C++ Programming.
About the Presentations The presentations cover the objectives found in the opening of each chapter All chapter objectives are listed in the beginning.
Introduction to Programming Language CS105 Programming Language First-generation: Machine language Second-generation: Assembly language Third-generation:
© Prentice-Hall, Inc Definition  Computer - An electronic device that has the ability to store, retrieve, and process data and can be programmed with.
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
Tranlators. Machine Language The lowest-level programming languageprogramming language Machine languages are the only languages understood by computers.languagescomputers.
COMPUTER PROGRAMS AND LANGUAGES Chapter 4. Developing a computer program Programs are a set (series) of instructions Programmers determine The instructions.
© Prentice-Hall, Inc Definition  Computer - An electronic device that has the ability to store, retrieve, and process data and can be programmed with.
Chapter 1 The Big Picture.
Programming History. Who was the first programmer?
CMSC 120: Visualizing Information 1/29/08 Introduction to Computing.
The Teacher Computing Computer Languages [Computing]
History of Computers.
National Diploma Unit 4 Introduction to Software Development Introduction to Programming Languages.
Chapter 1 Introduction.

Programming Languages What is a programming language? –systematic notation by which we describe computational processes to others –notation for description.
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
Why build a computer? u Computers were developed to mechanize mathematical computations. u Two definitions:  A computer is “a programmable electronic.
LOW vs. HIGH Level Languages
Programming Languages
CS 313 History of Programming Languages
小型系統 心情 vs. 古典樂 心情 vs. 古典樂 浪漫求籤系統 美食導航系統 季潔亭雅鈺熒岱芸 美食導航系統 楊氏音樂模擬大會考人瑋 若維 芷萱 伽倩 楊氏音樂模擬大會考 麥當勞熱量計算系統 火星文困擾你嗎 ? 火星文困擾你嗎 ? 歌詞知多少 - 挑戰你的腦容量英琪 日馨 青雪 鈺娟.
Programming Language Paradigms ITSK2314 Lecture 3.
History. Development Driven by Function Functions of a Programming Language –To describe computation for use by computers –To describe computation and.
Hardware and Software UCT Department of Computer Science Computer Science 1015F Hussein Suleman March 2009.
Computer Languages [Computing] Computing.
CSCI 161: Introduction to Programming
Basic 1964 PC general purpose Imperative Small Easy to use.
Chapter 1 The Big Picture
PROGRAMMING LANGUAGES
CSCI-235 Micro-Computer Applications
Introduction of Programming Languages
Unit 1 Evolution of Computing
Problem Solving Using C: Orientation & Lecture 1
About the Presentations
Developing Applications
Introduction to programming languages, Algorithms & flowcharts
TRANSLATORS AND IDEs Key Revision Points.
CSC128 FUNDAMENTALS OF COMPUTER PROBLEM SOLVING
CS105 Introduction to Computer Concepts Intro to programming
Introduction to Computer Programming
and Program Development
Von Neumann Architecture
Principles of Programming Languages
Presentation transcript:

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