1 Copyright © 2003 Prentice Hall, IncSlides created by Bob Koziel
Copyright © 2003 Prentice Hall, Inc 2 Tips for using the slide show Use MS Power Point XP to view the presentation. Earlier versions will not show the animations correctly. Slides with : Click the slide to view all of its sections and animations. Some slides need to be clicked several times. will appear once the last object on the slide has appeared. Click to go to the next slide. represents an Internet link that will take you to the Web site when you click on it. Internet connection required. Clicking on the or icon will take you to the previous or the next slide. Slides with videos or sounds: Click on the picture to view videos or listen to sounds. NEXT SLIDE I NEXT SLIDE Copyright © 2003 Prentice Hall, Inc
3 Chapter 15 Programming Languages and Program Development COMPUTERS IN YOUR FUTURE 2004 COMPUTERS IN YOUR FUTURE 2004 by Bryan Pfaffenberger and Bill Daley Chapter 15 Programming Languages and Program Development What You Will Learn NEXT SLIDE Definition of programming languages Differences between machine language and assembly language Benefits of high-level programming language Measures taken to improve third-generation languages Shortcomings of previous languages Advantages and disadvantages of programming languages The 6 phases of the Program Development Life Cycle (PDLC) Differences between syntax errors and logic errors
Copyright © 2003 Prentice Hall, Inc 4 Machine Language Ada Pascal Fortran COBOL Assembly Language Smalltalk Visual Basic BASIC JavaC and C++ NEXT SLIDE Programming Languages Programming languages are artificial languages created to tell the computer what to do. They consist of vocabulary and a set of rules to write programs. Program development life cycle (PDLC)– An organized method of software development.
Copyright © 2003 Prentice Hall, Inc 5 NEXT SLIDE First-Generation Languages Machine language– Consists of binary numbers (0s and 1s). Earliest programming language. The only language the computer understands without translation. Machine dependent– Each family of processors has its own machine language.
Copyright © 2003 Prentice Hall, Inc 6 Second-Generation Languages Assembly language– Resembles machine language; called a low-level language. Doesn’t use machine language but uses brief abbreviations for program instructions. Abbreviations are called mnemonics. A program is written in source code and translated into machine language by an assembler. NEXT SLIDE
Copyright © 2003 Prentice Hall, Inc 7 NEXT SLIDE Third-Generation Languages Procedural languages– High-level languages that tell the computer what to do and how to do it. Programs are created at a high level of abstraction. Easier to read, write, and maintain than machine and assembly languages. They use a compiler or interpreter to translate code. A compiler is a program that changes source code to object code. Interpreter translates source code one line at a time and executes the instruction.
Copyright © 2003 Prentice Hall, Inc 8 NEXT SLIDE Compilers and Interpreters
Copyright © 2003 Prentice Hall, Inc 9 NEXT SLIDE Spaghetti Code and the Great Software Crisis Spaghetti Code Using GOTO statements caused programs that were difficult to follow. Led to the software crisis of the 1960s. Modular Programming Program is divided into separate modules. Each module carries out a special function. Requires specified input to produce specified output. Structured Programming Improve software development. Forbid the use of GOTO statements. Use control structures (IF-THEN-ELSE).
Copyright © 2003 Prentice Hall, Inc 10 NEXT SLIDE Fourth-Generation Languages Report generators– Languages for printing database reports. Query languages– Getting information out of databases. Nonprocedural– Do not force programmers to follow procedures to produce results.
Copyright © 2003 Prentice Hall, Inc 11 Object-Oriented Programming Component reusability– Ability to produce program modules that perform a specific task. Eliminates distinction between programs and data. Uses objects that contain data and procedures. NEXT SLIDE
Copyright © 2003 Prentice Hall, Inc 12 NEXT SLIDE Objects Objects are units of information that contain data as well as methods that process and manipulate the data. Classes of objects– Hierarchy or category of objects; objects at the top of the category are broader in scope than the subclass objects. Inheritance– Refers to an object’s capacity to “pass on” its characteristics to its subclasses.
Copyright © 2003 Prentice Hall, Inc 13 Sample Cobol program NEXT SLIDE Common Business-Oriented Language (COBOL) COBOL The earliest (1959) high- level language. The most widely used business language. A proven way to do accounting, inventory, billing, and payroll. Requires programmers to explain what program is doing at each step.
Copyright © 2003 Prentice Hall, Inc 14 Sample Fortran program NEXT SLIDE Formula Translator (Fortran) Fortran Began in the 1950s. Suited to scientific, mathematical, and engineering applications. Used to solve complex equations. Features simplicity, economy, and ease of use.
Copyright © 2003 Prentice Hall, Inc 15 Sample Ada program NEXT SLIDE Ada Named after Augusta Ada Byron. Incorporates modular programming. The required language for the U.S. Defense Department. Suitable for control of real-time systems (missiles).
Copyright © 2003 Prentice Hall, Inc 16 Sample BASIC program NEXT SLIDE Beginner’s All-Purpose Symbolic Instruction Code (BASIC) BASIC An easy-to-use language available on personal computers. Widely taught in schools as a beginner’s programming language. Designed as an interpreted language.
Copyright © 2003 Prentice Hall, Inc 17 NEXT SLIDE Visual Basic (VB) Visual Basic Widely used in program development packages. It uses event-driven programming. Enables the programmer to develop an application by using on-screen graphical user interfaces. Sample Visual Basic
Copyright © 2003 Prentice Hall, Inc 18 Sample Pascal program NEXT SLIDE Pascal Named after Blaise Pascal. Encourages programmers to write well-structured programs. Wide acceptance as a teaching language. Updated to reflect new approaches to programming.
Copyright © 2003 Prentice Hall, Inc 19 Sample Smalltalk program NEXT SLIDE Smalltalk Developed in the 1970s by Xerox Corp. “100% pure” object-oriented programming language. Not often chosen for software development.
Copyright © 2003 Prentice Hall, Inc 20 Sample C++ program NEXT SLIDE C and C++ C Developed by AT&T’s Bell Labs in the 1970s. Combines high-level programming language with assembly language. Programmers manipulate bits of data within a processing unit. Difficult to learn, and programming is time consuming. C++ incorporates object- oriented features. Widespread use for professional program development.
Copyright © 2003 Prentice Hall, Inc 21 NEXT SLIDE Java Developed by Sun Microsystems. An object-oriented, high-level programming language with a twist. First true cross-platform programming language. Gained acceptance faster than any other programming language. A simplified version of C++.
Copyright © 2003 Prentice Hall, Inc 22 Java cont. Designed to run on any computer platform. Java Virtual Machine enables cross-platform use. Java applets or small programs are downloaded to computers through networks. Weaknesses include the security risk in downloading applets and the speed in running the programs. NEXT SLIDE
Copyright © 2003 Prentice Hall, Inc 23 NEXT SLIDE Sample Java Program
Copyright © 2003 Prentice Hall, Inc 24 Sample JavaScript program NEXT SLIDE JavaScript (ECMAScript) JavaScript A scripting language designed for use on Web pages. Created by Netscape Communications. Standardized by the European Computer Manufacturers Association (ECMA). Known as ECMAScript. Easy to learn. Widespread use on the Web.
Copyright © 2003 Prentice Hall, Inc 25 NEXT SLIDE The Program Development Life Cycle (PDLC) PDLC was introduced in the 1970s to address problems in creating programs. It provides an organized plan for breaking down the task of program development into manageable parts. Six phases of the PDLC: 1. Defining the problem. 2. Designing the program. 3. Coding the program. 4. Testing and debugging the program. 5. Formalizing the solution. 6. Implementing and maintaining the program.
Copyright © 2003 Prentice Hall, Inc 26 NEXT SLIDE Phase 1: Defining the Problem The first step in program development. Systems analysts provide program specifications (specs) to programmers. Specs define: Input data Processing Output Appearance of user interface
Copyright © 2003 Prentice Hall, Inc 27 NEXT SLIDE Phase 2: Designing the Program Programmers create the program’s design. Top-down design– Focuses on the program’s main goal (main routine) then breaks the program into manageable components (subroutines/modules). Structured design– Programmers use control structures to see how the subroutine will do its job. Developing an algorithm– A step-by-step description of how to arrive at a solution. Nesting control structures are used to get the desired results. Program design tools: Structure charts– Show top-down design. Flow charts– Show logic of program. Pseudo code– Alternative to flow charts.
Copyright © 2003 Prentice Hall, Inc 28 NEXT SLIDE Structured Design Control structures are logical constructs that specify how the instructions in a program are to be executed. Three types of control structures: Sequence control structure– Instructions are executed in the order in which they appear. Selection control structures– The program branches to different instructions depending on whether a condition is met; IF…THEN…ELSE. Repetition control structure– The program repeats the same instructions over and over; DO-WHILE and DO- UNTIL.
Copyright © 2003 Prentice Hall, Inc 29 Structure Chart Flowchart NEXT SLIDE Structure Chart and Flowchart
Copyright © 2003 Prentice Hall, Inc 30 NEXT SLIDE Phase 3: Coding the Program Coding requires the translation of the algorithm into specific program instructions. An appropriate programming language is chosen, and the code is typed according to its syntax rules.
Copyright © 2003 Prentice Hall, Inc 31 NEXT SLIDE Phase 4: Testing and Debugging the Program Testing and debugging eliminate all errors. Syntax and logic errors are corrected. Debugging is the process of eliminating errors.
Copyright © 2003 Prentice Hall, Inc 32 NEXT SLIDE Phase 5: Formalizing the Solution Documentation is created for future use. The variable names and definitions, a description of the files needed, and the layout of the output are produced. A user manual is developed to explain how the program works.
Copyright © 2003 Prentice Hall, Inc 33 NEXT SLIDE Phase 6: Implementing and Maintaining the Program The program is: Tested by users. Thoroughly documented. Maintained and evaluated regularly.
Copyright © 2003 Prentice Hall, Inc 34 NEXT SLIDE Chapter 15 Summary 1.A programming language is an artificial language consisting of a vocabulary and a set of rules. 2.Machine language is the lowest-level programming language. 3.Assembly language contains symbols for programming instructions. 4.Third-generation, or high-level, languages require the programmers to specify the procedure to be followed. 5.Object-oriented languages combine procedures and data. 1.A programming language is an artificial language consisting of a vocabulary and a set of rules. 2.Machine language is the lowest-level programming language. 3.Assembly language contains symbols for programming instructions. 4.Third-generation, or high-level, languages require the programmers to specify the procedure to be followed. 5.Object-oriented languages combine procedures and data.
Copyright © 2003 Prentice Hall, Inc 35 NEXT SLIDE Chapter 15 Summary cont. 6.The PDLC’s six phases are: A.Defining the program B.Designing the program C.Coding the program D.Testing and debugging the program E.Formalizing the solution F.Implementing and maintaining the program 7.Top-down programming makes programs easier to debug and maintain. 8.Debugging requires finding and correcting syntax errors and logic errors. 6.The PDLC’s six phases are: A.Defining the program B.Designing the program C.Coding the program D.Testing and debugging the program E.Formalizing the solution F.Implementing and maintaining the program 7.Top-down programming makes programs easier to debug and maintain. 8.Debugging requires finding and correcting syntax errors and logic errors.
Copyright © 2003 Prentice Hall, Inc 36 THE END