Upload
ann-miller
View
212
Download
0
Tags:
Embed Size (px)
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