Monday 17 October 2016

Chapter 13 - Computer Programs and Programming Language

A programming language is a special language programmers use to develop software programs, scripts, or other sets of instructions for computers to execute.Example application : C++ , JAVA .Computer program is a series of instructions that directs a computer to perform tasks. Created by a programmer using a programming language.

Low-level Language:  
  1. Machine language is the first generation of programming languages, this language is only recognized by the computer.
  2. Assembly language is the second generation of programming languages. use of symbolic instructions.
  3. Source program contains the code to be converted to machine language.
  4. Procedural language instructions that tell the computer what and how to do. 

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)

  1. A compiler translates an entire program before executing it.
  2. 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:

  1. objects can be reused
  2. programmers create applications faster
  3. work well in a RAD environment
  4. 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:
  1. CLR (Common Language Runtime) 
  2. 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:
    1. Visual Basic is based on the BASIC programming language
    2. Visual C++ is based on C++
    3. 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:

  1. Ada
  2. ALGOL
  3. APL
  4. BASIC
  5. Forth
  6. FORTRAN
  7. HperTalk
  8. LISP
  9. Logo
  10. Modula-2
  11. Pascal
  12. PILOT
  13. PL/1
  14. Prolog
  15. RPG
  16. 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:
    1. Record the macro with a macro recorder
    2. 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:

  1. JavaScript
  2. Perl
  3. PHP
  4. Rexx
  5. Tcl
  6. 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:
  1. Share personal information
  2. Allow users to modify Web site content
  3. 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
  1. Dreamweaver
  2. Expression Web
  3. Flash
  4. 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.
1st  - Analyze Requirements


To initiate program development, programmer:

  1. Reviews the requirements
  2. Meets with the systems analyst and users
  3. Identifies input, processing, and output 
-IPO chart  
 
2nd  – 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.
  1. If then else
  2. 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

  1. SmartDraw
  2. 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.


3rd – Validate Design
Check for logic errors using test data
  1. Develop various sets of test data
  2. Determine the expected result
  3. Step through the algorithm
  4. Compare the results
  5. Repeat steps for each set of test data

4th  – Implement Design
 
Implementation of the design includes using a program development tool that assists the programmer by:
  1. Generating or providing some or all code
  2. Writing the code that translates the design into a computer program
  3. Creating the user interface
Extreme programming is a strategy where programmers immediately begin coding and testing solutions as soon as requirements are defined.
   

5th – Test Solution


The goal of program testing is to ensure the program runs correctly and is error free.

  1. Errors include syntax errors and logic errors.
  2. Debugging the program involves removing the bugs.
  3. A beta is a program that has most or all of its features and functionality implemented.  

6th – Document Solution


In documenting the solution, the programmer performs two activities:

  1. Review the program code
  2. Review all the documentation

No comments:

Post a Comment