* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Information in the Digital Domain
Software quality wikipedia , lookup
Go (programming language) wikipedia , lookup
Knowledge representation and reasoning wikipedia , lookup
Stream processing 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
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