Free Study Guides, Book Notes, Book Reviews & More...

Pay it forward... Tell others about Novelguide.com

A
Literary Analysis Test Prep Material Reports & Essays Global Studyhall Teacher Ratings Free Cash for College
Novelguide.com Novelguide.com Site Search:
New content - click here !


Discover!
Explore!
Learn...

Studyworld.com

Novelguide
Novelguide.com is the premier free source for literary analysis on the web. We provide an educational supplement for better understanding of classic and contemporary Literature Profiles, Metaphor Analysis, Theme Analyses, and Author Biographies.



PROGRAMMING

A computer can be an extremely efficient technological tool. The use of computers provides humans with the ability to perform a variety of tasks. The actual computer, however, does little on its own. Computer programs enable the computer, or the hardware, to perform a desired function or task. Computer programs are step-by-step instructions written specifically to instruct the computer on how to accomplish a task. The act of writing these computer programs is referred to as programming.

PROGRAMMING LANGUAGES

A programming language includes the rules defining how a computer program is written. Computer programs fall into two major types of programming languages: low-level languages and high-level languages. Low-level languages are more similar to machine language, which is the language that computers understand directly. High-level languages, however, are often more similar to English and easier for humans to understand.

Initially, programmers used machine language to write computer programs. The computer's "native language" is comprised of a series of binary digits. Binary digits, referred to as bits, are the basic units of memory and can store only two different values, 0 or 1. A group of eight bits makes up a byte and is the amount of memory used to store one character of information, such as a letter or number. Each central processing unit (CPU) for a computer has a unique machine language.

Code for computing gross pay for an employee
Machine language
LOAD GROSSPAY
SUBTRACT DEDUCTIONS
STORE NETPAY
High-level language
NetPay=GrossPay-Deductions

For example, the machine language for an IBM computer model is unique compared to that of a Macintosh computer model. Because machine-language programming is extremely time-consuming and cumbersome, programmers began using English-like abbreviations to code the programs. This method of coding resulted in the development of assembly languages. With these languages, assemblers convert or translate the English-like code into machine language, increasing the speed at which programs can be written.

Although assembly languages improved the efficiency of program development, these languages still required many instructions to perform simple tasks. High-level languages were developed to improve programming efficiency by requiring fewer coding statements to accomplish more tasks. These languages use compilers or interpreters that convert high-level code into machine code.

Figure 1 illustrates the distinction between machine and high-level languages.

TYPES OF PROGRAMMING LANGUAGES

The two primary methods of programming are procedural and object-oriented. Procedural programming involves coding a set of statements called procedures that are executed sequentially by the compiler. This method of programming was used considerably when users were interacting with text-based computers. Using this approach, the programmer determines the sequence of actions that occur within the program. Programming languages such as COBOL and FORTRAN are examples of procedure languages.

The object-oriented method of programming (OOP) evolved when operating systems migrated to a more visual environment such as the Microsoft Windows family. Windows-based applications include graphical user interfaces (GUI, pronounce "gooey") to make programs friendlier and easier to use. The elements such as buttons, menus, and windows included in a GUI are called objects. Programmers must provide code that handles the user's interactions with these objects. Because the user can select the objects in any order, the program must respond to the user. Thus, the programmer no longer determines the sequence of execution within the program.

The concept of reusability has increased the popularity of OOP languages as well. OOP languages enable programmers to design and code applications that permit interchangeable software components. These reusable components can be used in other programs. Popular OOP languages are Visual Basic .NET, Java, C++, and Python.

CATEGORIES OF COMPUTER PROGRAMS

Systems programs and application programs are the two main types of computer programs. Systems programs or systems software is typically written in low-level language whereas application software is coded using high-level language. Systems software enables the computer to control and maintain its hardware (mouse, monitor, CPU) and interact with the user. There are three major types of systems software: operating systems, utilities, device drivers.

One of the most important types of systems software is the operating systems software. Operating systems software enables the computer application to communicate with the computer hardware. It also provides an interface or a link between the user and the computer. Utilities, another type of systems software, are specialized programs designed to make computing easier. A common example is antivirus software that protects the computer from harmful files and programs. The third type of system software is device drivers. They are specialized programs designed to allow input/output devices to communicate with the rest of the computer and its software. Device driver software is included with most hardware components. When a printer or scanner is purchased, for example, a device driver that is included must be installed on the computer before it can be used.

APPLICATIONS SOFTWARE

Applications software enables the end user to perform useful tasks or functions. If there is a standard task that needs to be accomplished, such as financial budgeting, application packages or software can be purchased from a software vendor at a retail store. Microsoft Excel, for example, is a popular spreadsheet application package that is used for budgeting. If there is a customized problem that is specific to the needs of an end user or company, an applications programmer can design a software package to solve the problem. Other examples of popular applications include word processors, database managers, spreadsheet programs, graphics applications, and Web browsers.

PROGRAM DEVELOPMENT CYCLE

Regardless of the programming language used, the process of developing a program is similar. The steps are as follows:

  1. Analyzing and determining the program specifications is the first and most important step to program development. It is defining the problem and determining what the program should accomplish. Failing to complete this step will often result in ineffective and undesired output.
  2. Designing the program involves planning the solution to the problem by determining a logical sequence of steps. Called an algorithm, this sequence of steps should include precise details of how to solve the problem. Three methods commonly used to develop the algorithm are flowcharts, pseudocode, and hierarchy charts. Flowcharts provide a pictorial representation of logic using diagrams. Pseudocode is written with English-like expressions rather than diagrams. Hierarchy charts are used to show the relationships between sections in a program. Most programmers use pseudocode and hierarchy charts instead of flowcharts to depict their logic.
  3. Choosing the interface includes designing the GUI. The GUI is a user-friendly interface that allows the user to input data into the application and displays the output to the user. This step is needed only if a user interface is included in the program.
  4. Coding the program involves translating the algorithm into a programming language and then entering the code into a code editor. This involves using the appropriate programming software to enter the program instructions or code into the computer's memory.
  5. Compiling the program includes using a compiler or interpreter to convert the code into machine language.
  6. Testing and debugging the program involves locating and removing any errors in the program. Testing is the process of finding errors and debugging is the process of correcting the errors. During this step, the programmer also does a "walk through" of the program to ensure that the program is functioning properly and that it includes all of the program specifications.
  7. Documenting the program is a critical step that involves providing detailed descriptions of the procedures, the variables, and the data names used in the program. It also includes the purpose and objectives of the program. This information is intended to allow another person to understand the program. Internal documentation is found within the code of the program. External documentation is found separate from the program and may include instruction manuals or online help.

POPULAR PROGRAMS

Because of the popularity of applications that provide GUIs for end users which are user-friendly, many programming packages today include a "visual" component. Some of the most commonly used languages by programmers are Visual Basic, NET, Visual C++, and C#. Java, JavaScript, and XML are used for interactive web development.

SEE ALSO Information Processing; Software

BIBLIOGRAPHY

Deitel, Harvey M., Deitel, Paul J., and Nieto, Tem R. (2003). Simply Visual Basic .NET: An application-driven tutorial approach. Upper Saddle River, NJ: Prentice Hall.

Gaddis, Tony, Irvine, Kip, and Denton, Bruce (2003). Starting out with Visual Basic .NET. Boston: Addison Wesley.

Schneider, David (2003). An introduction to programming using Visual Basic .NET (5th ed.). Upper Saddle River, NJ: Prentice Hall.

Stern, Nancy, Stern, Robert A., and Ley, James P. (2003). COBOL for the 21st century (10th ed.). New York: Wiley, 2003.

Venit, Stewart (2002). Extended prelude to programming: Concepts and design. El Granada, CA: Scott Jones.

Ronda B. Henderson

Programming

© 2007 Thomson Gale, a part of The Thomson Corporation.


Novel Analysis
About Novelguide
Join Our Email List
Bookstore - Buy Books
Contact Us





Oakwood Publishing Company:

SAT; ACT; GRE

Study Material






Copyright © 1999 - Novelguide.com. All Rights Reserved.
To print this page, please use Internet Explorer.
To cite information from this page, please cite the date when you
looked at our site and the author as Novelguide.com.
Copyright Information -- Terms Of Use -- Privacy Statement