Download Information in the Digital Domain

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Software quality wikipedia , lookup

Go (programming language) wikipedia , lookup

Knowledge representation and reasoning wikipedia , lookup

Stream processing wikipedia , lookup

Compiler wikipedia , lookup

Falcon (programming language) wikipedia , lookup

C Sharp (programming language) wikipedia , lookup

Abstraction (computer science) wikipedia , lookup

Functional programming wikipedia , lookup

Software bug wikipedia , lookup

Control flow wikipedia , lookup

Object-relational impedance mismatch wikipedia , lookup

Reactive programming wikipedia , lookup

Programming language wikipedia , lookup

Domain-specific language wikipedia , lookup

Object-oriented programming wikipedia , lookup

Structured programming wikipedia , lookup

Transcript
Developing Applications
Notes for Chapter 14
Digital Domain, 2 ed
Programming Languages



Programs consist of sequence of instructions performed within
the fetch—execute cycle
All instructions must be in a particular processor’s machine
language before that processor can execute them
 machine languages are expressed in binary codes
 assembly languages are symbolic versions of machine
languages
Higher level languages allow programmers to express a
process in a more abstract form (closer to the actual problem
domain)
 these high-level languages must be translated into
machine languages
 both compiler and interpreter software can be used to
accomplish this translation
Programming Languages (cont’d)


Programs often employ variables and functions to
accomplish their tasks
Conditional statements alter the flow of control
within the program sequence
 allow the program to “make decision”
 move to different sequences of instructions
based on Boolean conditions (conditions that can
be true or false)
Scripting Languages


Scripting languages are interpreted languages
Very useful for Web-related programming tasks
 add interactivity to Web pages
 enable interaction with backend databases
The Software Development Cycle




Analyze and understand the problem
Devise a plan to solve the problem
Create an executable program that implements the
plan
Test and correct the program
Program Plans as Algorithms


Program plans are expressed as algorithms
 what information is needed?
 what events are needed to process the
information?
 how must these events be sequenced?
Algorithms may be expressed using



flow charts
pseudocoding
Translating an algorithm to an executable program is
called coding
Testing and Software Complexity



Testing involves running a program with the goal of
finding any errors (sometimes called bugs) so they
can be corrected
Large programs are very complex
 testing can rarely uncover all bugs
 beta testing allows program users to help uncover
additional errors after initial testing is completed
Testing is part of a larger process known as software
quality assurance
Software Development is a Team Effort




Systems analysts – planning and design
Project manager – oversee the schedule and budget
Programmers – work in teams to complete the
coding
Quality assurance – testing
Programming Paradigms

A programming paradigm defines the basic model by
which a language expresses a process

imperative procedural paradigm



uses modules called procedures or functions
examples: Pascal, BASIC, FORTRAN, COBOL, C, and ADA
object-oriented paradigm





objects encapsulate both data and process
objects have attributes (data)
objects have associated methods (process)
most scripting languages use this paradigm
examples: Java, C++, JavaScript, VBScript, and Visual Basic
Programming Paradigms (cont’d)

nonprocedural paradigm


often used in artificial intelligence (AI) applications
examples: Prolog, LISP, and FP
Other Programming Languages




End-user languages
Languages for Internet applications
 scripting languages
 event-driven programming
Languages for extending and integrating applications
 visual programming (Visual BASIC)
 AppleScript
Languages for specialized applications
 Director/Lingo
 Flash/ActionScript
Summary




Programs consist of sequence of instructions performed within the
fetch—execute cycle
All instructions must be in a particular processor’s machine language
before that processor can execute them
Higher level languages allow programmers to express a process in a
more abstract form (closer to the actual problem domain)
The software development cycle consists of:
 Analyze and understand the problem
 Devise a plan to solve the problem
 Create an executable program that implements the plan
 Test and correct the program
Summary (cont’d)


Software development is a team effort
 Systems analysts – planning and design
 Project manager – oversee the schedule and budget
 Programmers – work in teams to complete the coding
 Quality assurance – testing
There are number of programming paradigms
 imperative procedural paradigm
 object-oriented paradigm
 nonprocedural paradigm