Computer programming

related topics
{system, computer, user}
{math, number, function}
{theory, work, human}
{language, word, form}
{@card@, make, design}
{company, market, business}
{rate, high, increase}
{album, band, music}
{work, book, publish}
{day, year, event}
{water, park, boat}
{church, century, christian}

Computer programming (often shortened to programming or coding) is the process of designing, writing, testing, debugging / troubleshooting, and maintaining the source code of computer programs. This source code is written in a programming language. The purpose of programming is to create a program that exhibits a certain desired behaviour. The process of writing source code often requires expertise in many different subjects, including knowledge of the application domain, specialized algorithms and formal logic.

Contents

Definition

Hoc and Nguyen-Xuan define computer programming as "the process of transforming a mental plan in familiar terms into one compatible with the computer." [1] Said another way, programming is the craft of transforming requirements into something that a computer can execute.

Overview

Within software engineering, programming (the implementation) is regarded as one phase in a software development process.

There is an ongoing debate on the extent to which the writing of programs is an art, a craft or an engineering discipline.[2] In general, good programming is considered to be the measured application of all three, with the goal of producing an efficient and evolvable software solution (the criteria for "efficient" and "evolvable" vary considerably). The discipline differs from many other technical professions in that programmers, in general, do not need to be licensed or pass any standardized (or governmentally regulated) certification tests in order to call themselves "programmers" or even "software engineers." However, representing oneself as a "Professional Software Engineer" without a license from an accredited institution is illegal in many parts of the world.[citation needed] However, because the discipline covers many areas, which may or may not include critical applications, it is debatable whether licensing is required for the profession as a whole. In most cases, the discipline is self-governed by the entities which require the programming, and sometimes very strict environments are defined (e.g. United States Air Force use of AdaCore and security clearance).

Full article ▸

related documents
Enterprise JavaBean
PostScript
OpenStep
Microsoft Excel
Windows API
PostgreSQL
Counter
Superscalar
Wikipedia:Database download
Gopher (protocol)
EDIF
Digital filter
Hierarchical File System
Vector graphics
ENIAC
MIME
Motorola 6800
Darwin (operating system)
Ext3
File manager
Software development process
Erlang (programming language)
Code division multiple access
Gentoo Linux
Post Office Protocol
TrueType
Solaris (operating system)
Wikipedia:FAQ/Technical
Text Editor and Corrector
Windows NT