Wednesday 12 October 2016

Chapter 13 Computer Programs and Programming Languages 
October 12,2016. Tuesday

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
 Programming language is a set of words, abbreviations and symbols  that enables a software developer to communicate instructions to a  computer or mobile device.

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 computer 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



•A visual programming language is a language that uses a visual or  graphical interface for creating all source code 
Visual studio also includes a set of tools for developing programs and  apps that work with Microsoft's Office suite.
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.
•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 
 -Hypertalk
 -LISP
 -Logo 
 -Modula-2
 -Pascal 
 -PILOT
 -PL/1
 -Prolog 
 -RPG
 -Smaltalk 

These languages, which include BASIC, COBOL, FORTRAN and RPG,  were more widely used in the past than they are today.

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
   Wireless markup language (WML) allows web developers to design        pages specifically for microbrowsers.
    –Two applications of XML are the RSS 2.0 and ATOM specifications.

    –Really simple syndication (RSS) and ATOM are specifications that       content aggregators use to distribute content to subscribers.

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 CG(common gateway interface)
-Scripts
-Applets 
-Servlets 
-ActiveX controls 

•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 Wed pages that  include images, video, audio, animation, and other effects 
-Dreamweaver 
-Expression Web 
-Flash 
-Share Point 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
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