Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing...

Preview:

Citation preview

Programming Languages and Program Development

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall

1

Explain what a programming language is. Explain the development of programming

languages over the years and the benefits and drawbacks of high-level programming languages.

List several popular object-oriented languages and explain their advantage over older languages.

List the six phases of the program development life cycle (PDLC).

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 2

Programming Process used to create software programs

Programmers People who use programming languages to create software

applications

Programming languages Consist of a vocabulary and a set of rules called syntax

Interface Point of interaction between components, such as the

interaction between a user’s screen and the computer code, which results when running a program

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 3

Middleware Makes connections between applications on

multiple networks Integral to modern information technology

based on XML, Web services, and service-oriented architecture

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 4

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall5

• Compilers and interpreterso Source code—programming instructions in the

original form that can be translated into a form that the computer can understand

o Code—programming instructions created by the programmers

o High-level language—language that mimics English; does not require a programmer to understand the intimate details of how hardware, especially the processor, handles data

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall6

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall7

• Compilers and interpreterso Compiler—utility program translates source

code into object codeo Executable program—code transformed

from object code ready to run programs that do not need to be altered

o Interpreter—translation program that does not produce object code—translates one line of source code at a time; executes the translated instruction

Machine Assembly Procedural Nonprocedural Natural

8

First-generation languages

Machine languageBased on binary numbersOnly programming language that a computer

understands directlyMachine dependent

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall9

Second-generation language

Assembly language Low-level language Programs use:

Mnemonics—brief abbreviations for program instructions make assembly language easier to use

Base-10 (decimal) numbers

Must be translated into machine language by an assembler

Occasionally used to create device drivers Programs to control devices attached to a computer and

game console programs

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 10

Third-generation languages

High-level languages—do not require programmers to know details relating to the processing of data

Easier to read, write, and maintain than assembly and machine languages

Source code must be translated by a language translator

Examples: Fortran, Pascal, Algol, Pascal, C, Ada

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall11

Third-generation languages (con’t.)

o Spaghetti code—difficult to follow, messy in design, prone to errors due to numerous GOTO statements

o Structured programming—set of quality standards; programs more verbose but more readable, reliable, and maintainable GOTO statements forbidden Examples:

Ada Algol Pascal

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall12

Third-generation languages (con’t.)

o Modular programming—dividing larger programs into separate modules, each takes care of a specific function

o Information hiding—also known as encapsulation, modular programming makes it possible to hide details in sensitive applications

o Programming languages include:• Fortran• C

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall13

Structured and modular languages Required for large-scale program development Languages in widespread use:

Ada BASIC Visual Basic

Event-driven programming language that executes only in response to user actions

C

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 14

Third-generation languages (con’t.)

• Procedural languageso Provide detailed instructions that are designed to carry

out a specific action such as printing a formatted report

• Nonprocedural languageso Do not require programmers to use step-by-step

instructions

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall15

Third-generation languages (con’t.)

Fourth-generation languages

Nonprocedural languages Do not require step-by-step procedures Examples

Report generators (database reports) Query languages

SQL (Structured query language)—enables users to phrase simple or complex requests for data

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 16

Fifth-generation languages

Natural language Still being perfected Nonprocedural Use everyday language to program

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 17

Programming technique based on data being conceptualized as objects

Object—unit of computer information that defines a data element that is used to model real-world objects

Attributes define the data Procedures or operations are called methods

Class—blueprint or prototype from which objects are made

Inheritance—ability to pass on characteristics from a class to subclasses

Examples: C++, Java

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 18

Visual Studio.NET—Microsoft’s answer to Java and JavaScript

Visual Basic.Net Visual C++ Visual C# F#—language that combines object-oriented

features with the assets of a functional language

Functional language reflects the way people think mathematically—useful in programs that express findings in mathematical form

Integrated development environment (IDE)

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 19

Not considered programming languages Tell the browser how to display text and

objects Language types

Markup Scripting

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall20

Composed of a set of codes, or elements, that uses tags to define how text and objects display

Tags—markers that usually come in pairs Content—text that displays, lies between the

opening and closing tags WML (Wireless Markup Language)enables

developers to create pages for wireless devices CSS (Cascading Style Sheets)defines the

look and formatting of a Web page

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 21

HTML (Hypertext Markup Language) Used by Web programmers Supports links to other documents, graphics,

and audio and video files. XML (Extensible Markup Language)

Enables programmers to capture specific types of data by creating their own elements

Not a replacement for HTML XHTML (Extensible Hypertext Markup

Language Newer version of HTML that uses XML to

produce Web pages that are easily accessible by newer portable devices.

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 22

Create scripts—programs that control Web page actions or responses

VBScript ActiveX controls JavaScript AJAX JSON

Used for serialization and transmitting structured data over a network

PHP

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 23

Rapid application development (RAD) Reuses prebuilt objects Possible because of OOP

Joint application development (JAD) Uses a team approach Involves end users throughout development

Agile software development techniques—use collaboration between teams to develop solutions to meet customer needs and company goals

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 24

Program development life cycle (PDLC) Organized plan for managing the development

of software Consists of six phases, from problem definition

through program implementation and maintenance

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 25

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 26

Define the problem the program will solve Define the program specifications, including

decisions regarding data input, required processing, output, and the user interface

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 27

Program design—identifies components of the program

Top-down program design—breaks program into small, manageable, highly focused routines

Procedures, functions, or subroutines Structured design uses control

structures—logical elements assembled in blocks of code that determine how subroutines will be programmed

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 28

Basic control structures categories Sequence control structure—code

performed in line-by-line order Selection control structure—also called a

conditional or branch structure, this is a portion of code that leads to a block of code based on conditions being met

Case control structure—portion of code that branches to extensive conditional coding

Repetition control structure—also known as looping or iteration, this is a portion of code that repeats

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 29

Algorithm Combination of control structures Step-by-step description of how to arrive at a

solution Nesting

Process of embedding control structures within one another

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 30

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 31

Program design tools Structured charts—also called hierarchy

charts, show top-down design of programs Flowcharts—use diagrams to show the logic of

a program Unified Modeling Language (UML)—

variation of flowcharting used to illustrate and document object-oriented systems during development

Pseudocode—uses a stylized form of writing to describe logic

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 32

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 33

Programmers convert algorithms into programming code

Syntax errors (i.e. language errors) Mistakes in the construction of the

programming commands Must be corrected for the program to run

appropriately

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 34

All errors, not just syntax errors, must be removed

Logic errors Relate to problems in the solution’s design Cause incorrect output Program still runs despite logic errors

Syntax errors and logic errors—bugs Debugging—process of eliminating errors

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 35

Documentation includes: Overview of program functionality Tutorials Thorough explanation of main features Reference documentation of program

commands Description of error messages Program design work, including structure

charts, pseudocode, and flowcharts

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 36

Test the program Have users work with the software Correct errors

Program maintenance Fix program errors discovered by users Conduct periodic evaluations on a regular basis Make modifications as needed to update the

program or add features

37

Recommended