Programming: A Brief History. Introduction Five Generations of Programming Languages Gets closer to representing data in human terms Requires additional.

Slides:



Advertisements
Similar presentations
CHAPTER 2 GC101 Program’s algorithm 1. COMMUNICATING WITH A COMPUTER  Programming languages bridge the gap between human thought processes and computer.
Advertisements

Computers Are Your Future
Welcome to CMPE003 Personal Computer Concepts: Hardware and Software Winter 2003 UC Santa Cruz Instructor: Guy Cox.
Creating a Program In today’s lesson we will look at: what programming is different types of programs how we create a program installing an IDE to get.
Introducing Programming a general discussion. What is a Program? Sets of instructions that get the computer to do something Programs may be a few lines.
2 We need programming languages to communicate with a computer. The two broad classifications of programming languages are: Low-level and High- level.
Programming Creating programs that run on your PC
Computers: Tools for an Information Age
CS 104 Introduction to Computer Science and Graphics Problems Software and Programming Language (2) Programming Languages 09/26/2008 Yang Song (Prepared.
SOFTWARE SYSTEMS SOFTWARE APPLICATIONS SOFTWARE PROGRAMMING LANGUAGES.
Objectives Machine language vs.. High-level language Procedure-oriented, object-oriented, and event- driven languages Background of Visual Basic VB Integrated.
Software Development CS 1 Rick Graziani Spring 2007.
Principles of Programming Chapter 1: Introduction  In this chapter you will learn about:  Overview of Computer Component  Overview of Programming 
Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.
BIT Presentation 6. Contents GENERATIONS OF LANGUAGES COMPILERS AND INTERPRETERS VIRTUAL MACHINES OBJECT-ORIENTED PROGRAMMING SCRIPTING LANGUAGES.
Programming Languages: Telling the Computers What to Do Chapter 16.
Chapter 1 Introduction to Visual Basic Programming and Applications 1 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta.
Introduction to Computer Programming itc-314
Programming Languages CPS120: Introduction to Computer Science Lecture 5.
Introduction to Programming Language CS105 Programming Language First-generation: Machine language Second-generation: Assembly language Third-generation:
Chapter Lead Black Slide Powered by DeSiaMore Powered by DeSiaMore.
 2008 Pearson Education, Inc. All rights reserved Introduction to Computers, the Internet and World Wide Web.
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
CC111 Lec#5: Program Development 1 Program Development and Programming Languages Lecture 4 Reference :Understanding Computers Chapter 13.
Alexandria University Faculty of Science Computer Science Department Introduction to Programming (CS 102) C++ Programminhg.
UNIVERSITI TENAGA NASIONAL “Generates Professionals” CHAPTER 4 : Part 2 INTRODUCTION TO SOFTWARE DEVELOPMENT: PROGRAMMING & LANGUAGES.
High level & Low level language High level programming languages are more structured, are closer to spoken language and are more intuitive than low level.
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
Computer programming.
CHAPTER 1 Overview of Programming and Problem Solving.
1 Computing Software. Programming Style Programs that are not documented internally, while they may do what is requested, can be difficult to understand.
What is a Computer? An, electrical machine, that can be programmed to accept data (input), process it into useful information (output) and store it away.
© Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Tutorial 1 – Car Payment Calculator and Guess the Number.
PROGRAMMING LANGUAGES Prof. Lani Cantonjos. PROGRAM - set of step-by-step instructions that tells or directs the computer what to do. PROGRAMMING LANGUAGE.
CMPE13Cyrus Bazeghi 1 Programming Languages Telling computers what to do.
Visual BASIC 1 Introduction
Visual C++ Programming: Concepts and Projects
Just as there are many human languages, there are many computer programming languages that can be used to develop software. Some are named after people,
The Teacher Computing Computer Languages [Computing]
Discovering Computers 2009 Chapter 13 Programming Languages and Program Development.
Computer Programs and Programming Languages What are low-level languages and high-level languages? High-level language Low-level language Machine-dependent.
Lead Black Slide. © 2001 Business & Information Systems 2/e2 Chapter 5 Information System Software.
INTRODUCTION TO COMPUTING CHAPTER NO. 04. Programming Languages Program Algorithms and Pseudo Code Properties and Advantages of Algorithms Flowchart (Symbols.
A language which is acceptable to a computer system is called a computer language or programming language and the process of writing instructions in such.
Copyright © Prentice Hall Programming and Languages Chapter 14 Telling the Computer What to Do.
Liang, Introduction to C++ Programming, (c) Chapter 1 Introduction to Computers, Programs, and C++
Module 4 Part 2 Introduction To Software Development : Programming & Languages Introduction To Software Development : Programming & Languages.
Introduction to Computers Lesson 13B. home Syntax Programming language rules.
Agenda Computer Languages How to Write a Simple C Program
 Computer Languages Computer Languages  Machine Language Machine Language  Assembly Language Assembly Language  High Level Language High Level Language.
Programming and Languages Dept. of Computer and Information Science IUPUI.
Course Instructor: Hira Farman Course : BY:HIRA FARMAN.
LESSON 1 Introduction to Programming Language. Computer  Comprised of various devices that are referred to as HARDWARE.  The computer programs that.
Introduction to Computer Programming itc-314 Lecture 04.
Chapter 1 Introduction to Visual Basic Programming and Applications 1 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
PROGRAMMING (1) LECTURE # 1 Programming and Languages: Telling the Computer What to Do.
Software Development Languages and Environments. Computer Languages Just as there are many human languages, there are many computer programming languages.
INTRODUCTION TO COMPUTER PROGRAMMING ITC-314. Computer Programming  Computer Programming means creating a sequence of instructions to enable a computer.
CHAPTER 2 GC101 Program’s algorithm 1. COMMUNICATING WITH A COMPUTER  Programming languages bridge the gap between human thought processes and computer.
Evolution and History of Programming Languages
Computer Languages [Computing] Computing.
Programming Languages
Introduction to Computer CC111
CSCI-235 Micro-Computer Applications
LESSON 1 Introduction to Programming Language
Lecture 8 Programming Paradigm & Languages. Programming Languages The process of telling the computer what to do Also known as coding.
Tonga Institute of Higher Education IT 141: Information Systems
Tonga Institute of Higher Education IT 141: Information Systems
Presentation transcript:

Programming: A Brief History

Introduction Five Generations of Programming Languages Gets closer to representing data in human terms Requires additional translation Higher generations tend to be slower.

First Generation Machine Language Pre-1950 programming in Binary Code. means speaking directly to the computer in the language of 1s and 0s it understands. Machine language is fast because no translation is required on the computer's part. However, it is almost impossible to learn--imagine having to enter a string of hundreds of binary digits just to tell the computer to perform a basic operation like adding numbers. Nevertheless, this is how the first computers were programmed.

An Example of Binary Code

Second Generation Assembly Language - Early 1950s Assembly language provided English abbreviations for computer operations. The advantage of this type of reasoning is that little translation needed to be done to get to machine language, so assembly still retained much of its speed.

An Example of Assembly Language The abbreviations were cryptic, such as: CMP A, B "Compare the values of A and B."

Third Generation: High-Level Languages - Late 1950s –1999 A group of scientists/engineers at IBM, wanted a language that would take care of the mathematical operations automatically and that would provide for formatting of output (for example, formatting dollar amounts to two decimal places). They created a language called FORTRAN (FORmula TRANslator) However, considerable translation was needed to get to machine language the computer could understand.

IF A.gt.7 THEN This is the programming code for greater than. An Example of FORTRAN

Third Generation continued Third generation (high-level) still rules today FORTRAN did not include data management and reporting tools business people needed. COBOL (COmmon Business Oriented Language) was the solution, and although it has recently been made obsolete by modern database management systems, it is still widely used. (Y2K example) BASIC (Beginner's All-Purpose Symbolic InstruCtion Language) also developed in 1964 and was somewhat easier to use.

GRACE HOPPER Programmer Co-invented COBOL Coined the term “Debug”

John Kemeny & Thomas Kurtz BASIC was invented at Dartmouth College in 1964 to give students a simple programming language that was easy- to-learn... The official languages (then, Fortran and Algol; now, C, C++ and Java) were designed for professionals. - Thomas E. Kurtz John Kemeny Thomas E. Kurtz

BASIC - Beginners All-purpose Symbolic Instructional Code An example of BASIC: CLS IF G$ = “M” THEN PRINT “ISN’T PROGRAMMING GREAT!” ELSE PRINT “YOU’RE A PROGRAMMER!” END IF END

FRENCH VS. SWISS Pascal/Wirth PASCAL was introduced in 1971 by a Swiss computer scientist named Niklaus Wirth. Designed to show the proper way to implement a programming language Based on structured programming and is therefore an excellent teaching language

Third Generation continued into the 70s Modular Programming C. This language, written in the 1970s, has two advantages: First, it encourages a modular style to programming, meaning that each chunk of code performs one and only one function; programs are built by linking these chunks of code together. Second, C was designed to retain much of the speed found in Assembly Language. These advantages made it highly popular for developing PC and Mac software.

And then into the 80s Object-oriented programming C++ which attempts to give program data models based on real life. For example, a type of object called Person could be defined. This object has attributes hair color, eye color, and age, among others. The object also has methods which make it operate, like walk, talk, and eat.

Brian Kernighan, Dennis Ritchie & Bjarne Stroustrup Brian Kernighan Dennis Ritchie Bjarne Stroustrup Check out for more information on Bjarne Stroustrup (his home page).

Internet JAVA This language, developed in the 1991, and is similar in style to C++. Java does not depend on particular hardware and software being present. This makes it a good development tool for applications which run over the Internet, since there are many different types of machines wired into the Internet. Employers often look for Java applications on resumes.

Fourth Generation 4th Generation Languages Fourth-generation languages do not require the programmer to tell the computer how to solve a problem. He/she simply has to specify the input and describe the desired output, and it is up to the computer to figure out how to get there. Many database query languages would fall under the fourth-generation heading.

An Example of a Query in MS Access If I query a database and say, "Give me the names of all full-time professors in the History Department who make over $90,000 a year," I don't have to tell the computer how to search the database; I just tell it what I want. FULLTIME DEPARTMENT SALARY Y History >90000

WINDOWS 1995 and Beyond VISUAL BASIC When GUI-based operating systems like Windows got popular in the early 1990s, Microsoft saw a chance to introduce programming to a new generation. Visual Basic is a visual programming language which manages GUI elements like windows, menus, and buttons for you. It makes up for the power that the original BASIC lacked, and it is quickly gaining on C++ for the title of most popular language.

HTML and Authoring Environments HTML (HyperText Mark-up Language) Macromedia Dreamweaver Any text editor (eg. Notepad) HTML

Fifth Generation Artifical Intelligence and Expert Systems The ultimate goal of programmers is to be able to tell the computer what to do in their native language. These systems are intended to think and anticipate the needs of their users, instead of just executing commands. Fifth-generation programming has not evolved past the experimental stage.

Classifications of Programming Languages Compiled vs. Interpreted Compiled programming languages (such as C) check the code you type in before they will run it. They look for any syntax errors, and if they find one they will stop and tell you to fix it. If the code is syntactically correct, they will compile it, or turn it into a machine-executable form, using only the instructions the machine needs to run the program. By using only a subset of the available instructions in this way, the program is sped up.

Classifications of Programming Languages The opposite is an interpreted language (such as BASIC). These languages are happy to run the code without checking it first. If they come across a line they don't understand, they break out of the program and report an error. This makes debugging easier. Interpreted languages tend to be slower because they have to have the entire set of instructions available. The History of Programming Languages

Standard vs. Event-Driven Most programming languages execute their code in sequence. Generally they execute the lines of code in order, from start to finish. The advent of visual languages and GUIs caused a new style to be developed. In event-driven programming, the computer simply sits there and waits for an event to happen. This event could be a click of a mouse, typing on the keyboard, or whatever. Code is written to be executed for a specific event. For example, if the user clicks on a button marked "Exit," code will be executed which unloads the program from memory.