Friday 14 October 2016

Chapter 13: Computer Programs and Programming Language

Computer Programs and Programming Languages
  • A computer program is a series of instructions that directs a computer to perform tasks.
  • Created by a programmer using a programming language.

Low‐Level Languages
  • Machine language is the first generation of programming languages.
  • Only language the computer directly recognizes.
  • Assembly language is the second generation of programming languages.
  • Programmer writes instructions using  symbolic instruction codes.
  • A source program contains the code to be converted to machine language.
Procedural Languages
  • In a procedural language, the programmer writes instructions that tell the computer what to accomplish and how to do it.
    • Third-generation language (3GL)
      • A compiler translates an entire program before executing it.
      • An interpreter converts and executes one code statement at a time.
  • The C programming language is used to write many of today’s programs.
  • COBOL (COmmon Business-Oriented Language) is designed for business applications, but easy to read because of the English-like statements.
Object-Oriented Programming Languages and Program Development Tools
  • An object-oriented programming (OOP) language allows programmers the ability to reuse and modify existing objects.
  • Other advantages include:
    • objects can be reused
    • programmers create applications faster
    • work well in a RAD environment
    • most program development tools are IDEs
  • Java is an object-oriented programming language developed by Sun Microsystems.
  • The Just-in-time (JIT) compiler converts the bytecode into machine-dependent code.
  • The Microsoft .NET Framework allows almost any type of program to run on the Internet or an internal business network, as well as computers and mobile devices.
  • Features include:
    • CLR (Common Language Runtime) 
    • Classes
  • C++ is an extension of the C programming language.
  • C# is based on C++ and was developed by Microsoft.
  • F# combines the benefits of an object-oriented language with those of a functional language.
  • Visual Studio is Microsoft’s suite of program development tools:
    • Visual Basic is based on the BASIC programming language
    • Visual C++ is based on C++
    • Visual C# combines the programming elements of C++ with an easier, rapid-development environment]
  • A visual programming language is a language that uses a visual or graphical interface for creating all source code.
  • Borland’s Delphi is a powerful program development tool that is ideal for building large-scale enterprise and Web applications in a RAD environment.
  • PowerBuilder is a powerful program development RAD tool.
  • Best suited for Web-based, .NET, and large-scale enterprise object-oriented applications.
Other Programming Languages and Development Tools
  • A 4GL (fourth-generation language) is a nonprocedural language that enables users and programmers to access data in a database.
    • One popular 4GL is SQL
  • Classic programming languages include:
    • Ada
    • ALGOL
    • APL
    • BASIC
    • Forth
    • FORTRAN
    • HperTalk
    • LISP
    • Logo
    • Modula-2
    • Pascal
    • PILOT
    • PL/1
    • Prolog
    • RPG
    • Smalltalk
  • An application generator is a program that creates source code or machine code from a specification of the required functionality.
    • Often bundled as part of a DBMS
  • A macro is a series of statements that instructs an application how to complete a task.
  • You usually create the macro in one of two ways:
    • Record the macro with a macro recorder
    • Write the macro
Web Page Development
  • HTML is a special formatting language that programmers use to format documents for display on the Web.
  • XHTML is a markup language that allows Web sites to be displayed more easily on mobile devices.
  • XML allows Web developers to create customized tags and use predefined tags to display content appropriately on various devices.
    • WML is a subset of XML and is used to design pages for microbrowsers.
  • Two applications of XML are RSS 2.0 and ATOM.
  • Web browsers can execute short programs to add interactive elements to Web pages.
  • To send and receive information between your computer and a Web server, these programs use the CGI (common gateway interface).
  • Programmers write scripts, applets, servlets, or ActiveX controls using a variety of languages:
  • JavaScript
  • Perl
  • PHP
  • Rexx
  • Tcl
  • VBScript
  • Dynamic HTML  (DHTML) allows Web developers to include more graphical interest and interactivity.
  • Cascading style sheets (CSS) contain the formats for how a particular object should be displayed.
  • Ruby on Rails (RoR) provides technologies for developing object-oriented, database-driven Web sites.
  • Web 2.0 allows Web sites to provide a means for users to:
    • Share personal information
    • Allow users to modify Web site content
    • Have application software built into the site
  • Most Web 2.0 sites use APIs
    • An API enables programmers to interact with an environment such as a Web site or operating system.
  • Web page authoring software can create sophisticated Web pages that include images, video, audio, animation, and other effects
    • Dreamweaver
    • Expression Web
    • Flash
    • SharePoint Designer
Multimedia Program Development
  • Multimedia authoring software allows programmers to combine text, graphics, animation, audio, and video in an interactive presentation.
    • ToolBook
    • Director
  • Program development consists of a series of steps programmers use to build computer programs.
Step 1 – Analyze Requirements
  • To initiate program development, programmer:
    • Reviews the requirements
    • Meets with the systems analyst and users
    • Identifies input, processing, and output
      • IPO chart
Step 2 – Design Solution
  • Design a solution algorithm.
  • In structured design, the programmer typically begins with a general design and moves toward a more detailed design.
  • Programmers use a hierarchy chart to show program modules graphically.
  • With object-oriented (OO) design, the programmer packages the data and the program into a single object
    • Encapsulation
  • The sequence control structure shows one or more actions following each other in order.
  • The selection control structure tells the program which action to take, based on a certain condition.
    • If then else
    • Case
  • The repetition control structure enables a program to perform one or more actions repeatedly as long as a certain condition is met.
  • A program flowchart graphically shows the logic in a solution algorithm.
  • Flowcharting software makes it easy to modify and update flowcharts
    • SmartDraw
    • Visio
  • Pseudocode uses a condensed form of English to convey program logic.
  • UML (Unified Modeling Language) has been adopted as a standard notation for object modeling and development.
Step 3 – Validate Design
  • Check for logic errors using test data
    • Develop various sets of test data
    • Determine the expected result
    • Step through the algorithm
    • Compare the results
    • Repeat steps for each set of test data
Step 4 – Implement Design
  • Implementation of the design includes using a program development tool that assists the programmer by:
    • Generating or providing some or all code
    • Writing the code that translates the design into a computer program
    • Creating the user interface
  • Extreme programming is a strategy where programmers immediately begin coding and testing solutions as soon as requirements are defined.
Step 5 – Test Solution
  • The goal of program testing is to ensure the program runs correctly and is error free.
    • Errors include syntax errors and logic errors.
    • Debugging the program involves removing the bugs.
    • A beta is a program that has most or all of its features and functionality implemented.
Step 6 – Document Solution
  • In documenting the solution, the programmer performs two activities:
    • Review the program code
    • Review all the documentation

No comments:

Post a Comment