Portal:Computer programming

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


Introduction

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 (indicated by purple color) at a2. Black has just moved (yellow). Example from a chess game. Notation: if B×N then b1×B.

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 programming languages. The purpose of programming is to find a sequence of instructions that will automate the performance of a task 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.

Related programming tasks include testing, debugging, maintaining a program's source code, implementation of build systems, and management of derived artifacts such as 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 source code. Software engineering combines engineering techniques with software development practices.

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

Ada Lovelace 1838.jpg

Augusta Ada King, Countess of Lovelace (10 December 1815 – 27 November 1852), born Augusta Ada Byron, was an English writer chiefly known for her work on Charles Babbage's early mechanical general-purpose computer, the analytical engine. Her notes on the engine include what is recognised as the first algorithm intended to be processed by a machine; as such she is sometimes considered the "World's First Computer Programmer".

She was the only legitimate child of the poet Lord Byron (with Anne Isabella Milbanke). She had no relationship with her father, who died when she was nine. As a young adult she took an interest in mathematics, and in particular Babbage's work on the analytical engine. Between 1842 and 1843 she translated an article by Italian mathematician Luigi Menabrea on the engine, which she supplemented with a set of notes of her own. These notes contain what is considered the first computer program—that is, an algorithm encoded for processing by a machine. Though Babbage's engine has never been built, Lovelace's notes are important in the early history of computers. She also foresaw the capability of computers to go beyond mere calculating or number-crunching while others, including Babbage himself, focused only on these capabilities.

Selected image

A black screen with white text
Credit: Charlie42

Vim is a text editor, shown here displaying some C++ code.

Did you know?

Updated DYK query.svg
  • ... that C was designed to allow low-level access to system resources while maintaining code portability across different platforms?

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