What is "programming"

From Wikiversity

Jump to: navigation, search
Crystal Clear app kaddressbook.png
Please help develop this page

This page was created, but so far, little content has been added. Everyone is invited to help expand and create educational content for Wikiversity. If you need help learning how to add content, see the editing tutorial and the MediaWiki syntax reference.

To help you get started with content, we have automatically added references below to other Wikimedia Foundation projects. This will help you find materials such as information, media and quotations on which to base the development of "What is "programming"" as an educational resource. However, please do not simply copy-and-paste large chunks from other projects. You can also use the links in the blue box to help you classify this page by subject, educational level and resource type.

Wikipedia-logo.png Run a search on What is "programming" at Wikipedia.
Commons-logo.svg Search Wikimedia Commons for images, sounds and other media related to: What is "programming"
Wikimedia-logo.svg Search for What is "programming" on the following projects:
Smiley green alien whatface.svg Lost on Wikiversity? Please help by choosing project boxes to classify this resource by:

Programming is coding, modeling, simulating or presenting the solution to a problem, by representing facts, data or information using pre-defined rules and semantics, on a computer or any other device for automation.

Contents

[edit] Instructions for this lesson

[edit] Contents

Programming is the art and science of translating a set of ideas into a program - a list of instructions a computer can follow. The person writing a program is known as a programmer (also a coder).

The exact form the instructions take depend on the Programming Language used. Languages run the spectrum from very low level like Machine Language or Assembly, to a very high level like Java. Lower level languages are more closely tied to the platform they are targeted for, while Higher level languages abstract an increasing amount of the platform from the programmer.

In other words, low level programming languages represent the instructions in a manner that resembles more closely the way the computer actually works. High level languages do resemble more the way the human mind works. Each type is a good fit depending on the particular case. Whenever speed and resource consumption are important, low level languages can provide an advantage since they cause much less "translation" and are less generic, thus causing less load on the computer[1]. High level languages have much more abstraction and thus are better suited for tasks where maintenance and complex design is required.

After a programmer has finished writing the program, it must be executed. Traditionally, some languages (like Basic) are interpreted, while others (like C) are compiled prior to execution. Interpreted languages are executed "on the fly" at run time, while compiled languages have a separate compilation step that must be completed prior to running. Compilers are able to make certain optimizations that are unavailable to interpreters.

The program may fail to compile or execute due to syntax errors. These are errors caused by doing something that is unknown or illegal according to the language they have used. These errors have to be corrected before the program will execute.

If the program runs, the programmer must then verify that the program is working as they intended it to. When things don't go as the programmer intended, the error is said to be a bug. To eliminate bugs, the programmer goes through a process called debugging, where he tries to isolate and fix the source of the problem.

[edit] Notes

  1. However, given advances in modern compilers and the complexity of the underlying systems, a high-level language paired with advanced compiler can often produce more efficient executable code than an alternative hand-coded in an lower-level language.

[edit] Questions for self-test

[edit] See also: