Portal:Computer programming

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search


Introduction

Example of an internet chess program, Lichess, showing artificial intelligence programming– if the white bishop at b3 moves to a2, capturing the black knight, then the black pawn at b1 is programmed to capture the bishop back. Black has just moved a pawn to c2.

Computer programming is the process of designing and building an executable computer program for accomplishing a specific computing task. Programming involves tasks such as: analysis, generating algorithms, profiling algorithms' accuracy and resource consumption, and the implementation of algorithms in a chosen programming language (commonly referred to as coding). The source code of a program is written in one or more languages that are intelligible to programmers, rather than machine code, which is directly executed by the central processing unit. The purpose of programming is to find a sequence of instructions that will automate the performance of a task (which can be as complex as an operating system) on a computer, often for solving a given problem. The process of programming thus often requires expertise in several different subjects, including knowledge of the application domain, specialized algorithms, and formal logic.

Tasks accompanying and related to programming include: testing, debugging, source code maintenance, implementation of build systems, and management of derived artifacts, such as the machine code of computer programs. These might be considered part of the programming process, but often the term software development is used for this larger process with the term programming, implementation, or coding reserved for the actual writing of code. Software engineering combines engineering techniques with software development practices. Reverse engineering is the opposite process. A hacker is any skilled computer expert that uses their technical knowledge to overcome a problem, but it can also mean a security hacker in common language.

Selected article

Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive. Its use of indentation for block delimiters is unique among popular programming languages.

Python supports multiple programming paradigms, primarily but not limited to object-oriented, imperative and, to a lesser extent, functional programming styles. It features a fully dynamic type system and automatic memory management, similar to that of Scheme, Ruby, Perl, and Tcl. Like other dynamic languages, Python is often used as a scripting language, but is also used in a wide range of non-scripting contexts. Using third-party tools, Python code can be packaged into standalone executable programs. Python interpreters are available for many operating systems.

Selected biography

Charles Babbage 1860.jpg

Charles Babbage, FRS (26 December 1791 – 18 October 1871) was an English mathematician, philosopher, inventor and mechanical engineer who originated the concept of a programmable computer. Considered a "father of the computer", Babbage is credited with inventing the first mechanical computer that eventually led to more complex designs. Parts of his uncompleted mechanisms are on display in the London Science Museum. In 1991, a perfectly functioning difference engine was constructed from Babbage's original plans. Built to tolerances achievable in the 19th century, the success of the finished engine indicated that Babbage's machine would have worked. Nine years later, the Science Museum completed the printer Babbage had designed for the difference engine.

Selected image

A white background with colourful text.
Credit: Kleiner

The Hello world program (shown here in C++) is one of the simplest programs to create, often used to illustrate the basic syntax of a programming language and its development cycle.

Did you know?

Updated DYK query.svg

Subcategories

Associated Wikimedia

The following Wikimedia Foundation sister projects provide more on this subject:

Wikibooks
Books

Commons
Media

Wikinews 
News

Wikiquote 
Quotations

Wikisource 
Texts

Wikiversity
Learning resources

Wiktionary 
Definitions

Wikidata 
Database

Purge server cache