Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Programming: A Brief History. Introduction Five Generations of Programming Languages Gets closer to representing data in human terms Requires additional."— Presentation transcript:

1 Programming: A Brief History

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

3 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.

4 An Example of Binary Code 00000001 11111110 10101010 00000011 11111100 01010101 00000111 11111000 00001111 00011111 00111111 01111111 11111110 00101010 00010101 00001010 00000101 00000011 11000000 11100000 11110000 11111000 11111100 11111110

5 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.

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

7 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.

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

9 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.

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

11 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

12 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

13 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

14 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.

15 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.

16 Brian Kernighan, Dennis Ritchie & Bjarne Stroustrup Brian Kernighan Dennis Ritchie Bjarne Stroustrup Check out http://www.research.att.com/~bs/ for more information on Bjarne Stroustrup (his home page).

17 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.

18 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.

19 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

20 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.

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

22 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.

23 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.

24 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

25 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.


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

Similar presentations


Ads by Google