Chapter 8 The Tower of Babel. Chapter Outline Procedural languages Fortran, COBOL, PASCAL, C, Ada Object-oriented programming Special-purpose languages.

Slides:



Advertisements
Similar presentations
Agenda Definitions Evolution of Programming Languages and Personal Computers The C Language.
Advertisements

EC-111 Algorithms & Computing Lecture #1 Instructor: Jahan Zeb Department of Computer Engineering (DCE) College of E&ME NUST.
Overview of Programming and Problem Solving ROBERT REAVES.
Programming Languages Marjan Sirjani 2 2. Language Design Issues Design to Run efficiently : early languages Easy to write correctly : new languages.
Computers Are Your Future
CS105 INTRODUCTION TO COMPUTER CONCEPTS INTRO TO PROGRAMMING Instructor: Cuong (Charlie) Pham.
Programming Creating programs that run on your PC
Overview of Programming Paradigms
1 ) Definition 2) Note on structured and modular programming, and information hiding 3) Example imperative languages 4) Features of imperative languages.
Computers Are Your Future © 2006 Prentice Hall, Inc.
1 Lecture 1  Getting ready to program  Hardware Model  Software Model  Programming Languages  The C Language  Software Engineering  Programming.
Computers: Tools for an Information Age
Chapter 9: The Tower of Babel Invitation to Computer Science, C++ Version, Fourth Edition Additions by S. Steinfadt for SP08.
Chapter 9: The Tower of Babel Invitation to Computer Science, Java Version, Third Edition.
Chapter 9: The Tower of Babel Invitation to Computer Science, C++ Version, Fourth Edition Editied / additions by S. Steinfadt for SP09.
Chapter 9: The Tower of Babel
6/27/2015G. Levine1 PROGRAMMING LANGUAGES Text: Programming Languages, Design and Implementation Pratt and Zelkowitz 4 th ed. Prentice-Hall.
Guide To UNIX Using Linux Third Edition
 2000 Prentice Hall, Inc. All rights reserved. 1 Introduction to Computers and C Programming Outline Introduction What Is a Computer? Computer Organization.
1 CS101 Introduction to Computing Lecture 19 Programming Languages.
CS102 Introduction to Computer Programming
Principles of Programming Chapter 1: Introduction  In this chapter you will learn about:  Overview of Computer Component  Overview of Programming 
Introduction to High-Level Language Programming
Computers Are Your Future Tenth Edition Chapter 11: Programming Languages & Program Development Copyright © 2009 Pearson Education, Inc. Publishing as.
BIT Presentation 6. Contents GENERATIONS OF LANGUAGES COMPILERS AND INTERPRETERS VIRTUAL MACHINES OBJECT-ORIENTED PROGRAMMING SCRIPTING LANGUAGES.
Programming Languages CPS120: Introduction to Computer Science Lecture 5.
Introduction COMP104: Fundamentals and Methodology.
By: Felegh Solomon ITEC SPRING 2013 CHAPTER 4: KEY CONSTRUCTION DECISIONS.
 2008 Pearson Education, Inc. All rights reserved Introduction to Computers, the Internet and World Wide Web.
C++ Programming. Table of Contents History What is C++? Development of C++ Standardized C++ What are the features of C++? What is Object Orientation?
Invitation to Computer Science 5 th Edition Chapter 9 Introduction to High-Level Language Programming.
Chapter 9: The Tower of Babel Invitation to Computer Science, C++ Version, Third Edition.
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
BIT 1003 – Presentation 7. Contents GENERATIONS OF LANGUAGES COMPILERS AND INTERPRETERS VIRTUAL MACHINES OBJECT-ORIENTED PROGRAMMING SCRIPTING LANGUAGES.
Chapter 1: Preliminaries. Objectives In this chapter, you will learn about: Unit analysis Exponential and scientific notations Software development Algorithms.
Programming Languages 1.07a.  A computer program is a series of instructions that direct a computer to perform a certain task.  A programming language.
1 Overview of Programming and Problem Solving Chapter 1.
Machine Languages It is the only language the computer understands. It is made of 0s and 1s. They must be in 0s and 1s because the internal circuit of.
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages.
Copyright © 2007 Addison-Wesley. All rights reserved.1-1 Reasons for Studying Concepts of Programming Languages Increased ability to express ideas Improved.
Computer Programs and Programming Languages What are low-level languages and high-level languages? High-level language Low-level language Machine-dependent.
CSC425 - Introduction To Computer Programming 1. 2 Generation Of Programming Languages A set of rules that telling a computer what to do. There are over.
INTRODUCTION TO COMPUTING CHAPTER NO. 04. Programming Languages Program Algorithms and Pseudo Code Properties and Advantages of Algorithms Flowchart (Symbols.
Programming Fundamentals1 Chapter 1 INTRODUCTION TO COMPUTER AND PROGRAMMING.
Software Basics. Some Pioneers Charles Babbage Analytical Engine Countess Ada Lovelace First Programmer ? John Von Neumann storing instructions in memory.
Principles of Software Development 1 Principles Of Software Design and Development Types of language / Choosing a language.
Chapter 9: The Tower of Babel 國立雲林科技大學 資訊工程研究所 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: ext 國立雲林科技大學.
Invitation to Computer Science 5th Edition
Programming in C++ Dale/Weems/Headington Chapter 1 Overview of Programming and Problem Solving.
ECE 264 Object-Oriented Software Development Instructor: Dr. Honggang Wang Spring 2013 Lecture 1: Introduction.
Chapter 14 Programming and Languages McGraw-Hill/Irwin Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
An overview of C Language. Overview of C C language is a general purpose and structured programming language developed by 'Dennis Ritchie' at AT &T's.
Alexandria University Faculty of Science Computer Science Department Introduction to Programming C++
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
Introduction to Programming Languages © 2005 Prentice Hall, Inc. CXC IT Unit 2: Intro. to Programming.
Welcome to OBJECT ORIENTED PROGRAMMING Prepared By Prepared By : VINAY ALEXANDER PGT(CS) KV jhagrakhand.
CSC141 Introduction to Computer Programming Programming Language.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
Programming Logic and Design Seventh Edition Chapter 1 An Overview of Computers and Programming.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
Developing Applications
CS105 Introduction to Computer Concepts Intro to programming
The Programming Process
Introduction to Computer Programming
Von Neumann Architecture
Principles of Programming Languages
Programming Languages, Preliminaries, History & Evolution
CS105 Introduction to Computer Concepts Intro to programming
Presentation transcript:

Chapter 8 The Tower of Babel

Chapter Outline Procedural languages Fortran, COBOL, PASCAL, C, Ada Object-oriented programming Special-purpose languages SEL, Perl, HTML, XML Alternative programming paradigms Functional programming

Why Babel? Why are there so many different programming languages? Each programming language was designed to meet specific needs. One program may be better suited than others for writing certain kinds of programs. Similar to automobile market

Example C++ was not designed with engineering applications in mind For example, there is no operator for exponentiation (exp, power are all defined in math.h> Report writing with columns of figures and blocks of information is better handled by COBOL. Database query, Web page construction …

Procedural Languages Also known as imperative languages A program written in a procedural language consists of sequences of statements that manipulate data items. Programmers devise the appropriate step-by- step sequence of “ imperative commands ” – instructions in the programming language – that will accomplish the desired task. Follow directly from the Von Neumann architecture described in Chapter 5.

Examples FORTRAN, COBOL, Pascal, C, Ada. Differ in: how the statements must be arranged on a line how variables can be named how a new value is assigned to a variable how the flow control is handled I/O statements how to break programs into modules and how modules share information We will NOT study the syntactical differences among these languages. Will focus on the history and “intent” of each one.

FORTRAN FORmula TRANslation Affiliation with formulas or engineering-type applications Developed in the mid-1950s by IBM. First released in The first high-level programming language Exponentiation, extend-precision arithmetic, complex number system FORTRAN II, FORTRAN IV, FORTRAN 77, FORTRAN 90, High performance FORTRAN

Example 10 IF (NUMBER.LT. 0) GO TO 20. READ (*,*) NUMBER GO TO …

Flow Control with GO TO There is no while statement in FORTRAN. Use GO TO to implement looping. Excessive and careless use of GO TOs can make a program very difficult to read. Spaghetti code

Features Designed to support numerical computations Optimize the resulting object code A large and well-tested FORTRAN library exists. Old dog, new tricks

COBOL COmmon Business-Oriented Language Developed in by Grace Hopper of U.S. Navy. Designed to serve business needs such as managing inventories and payrolls. Processing in the business world concerns updating “ master files ” with changes from “ transaction files ”. Summary reports are most important output products.

Features of COBOL More adept in handling file input than keyboard input. Attention was paid to input/output formatting English-like statements Sum = a+ b ; (C++) ADD A TO B GIVING SUM. (COBOL) Y2K problem

Pascal Named after Blaise Pascal Developed by Niklaus Wirth in 1970s. Easy to learn and help enforce good programming techniques. Designed for teaching programming Similar to pseudo-code. Delphi uses Pascal as its language core.

C Developed in the 1970s by Dennis Ritchie at AT&T Bell lab. Originally designed for systems programming – UNIX OS. C has become a popular general-purpose language for two main reasons: Relationship between C and UNIX Efficiency Low-level memory manipulation by pointer Device-driver

Ada Common high-level language for use by defense contractors. Started in mid 1970s. Requirements on efficiency, reliability, readability and maintainability. Ada, Ada 9X, Ada 95. Multi-processing capability, OO

Ada Example with Text_IO; use Text_IO; procedure Forever is begin loop Put_Line("Hello again!"); end loop; end Forever;

The PIE of OOP Inheritance Polymorphism Encapsulation