Computer programming

programmingcodingprogrammablecomputer programmerprogramprogrammedprogrammersoftware programmingcodecode readability
Computer programming is the process of designing and building an executable computer program for accomplishing a specific computing task.wikipedia
1,476 Related Articles

Programming language

programming languageslanguagedialect
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).
Programming languages are used in computer programming to implement algorithms.

Software engineering

software engineersoftware engineerssoftware
Software engineering combines engineering techniques with software development practices.
Software development, the main activity of software construction: is the combination of programming (aka coding), verification, software testing, and debugging.

Computer program

programprogramscomputer programs
Computer programming is the process of designing and building an executable computer program for accomplishing a specific computing task.
Computer programming is the process of writing or editing source code.

Domain (software engineering)

domainapplication domainapplication domains
The process of programming thus often requires expertise in several different subjects, including knowledge of the application domain, specialized algorithms, and formal logic.
A domain is a field of study that defines a set of common requirements, terminology, and functionality for any software program constructed to solve a problem in the area of computer programming, known as domain engineering.

Software development

developmentdevelopedapplication development
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.
Implementation is the part of the process where software engineers actually program the code for the project.

Engineering

engineerengineersengineered
Software engineering combines engineering techniques with software development practices.
The castle clock, a hydropowered mechanical astronomical clock invented by Al-Jazari, was the first programmable analog computer.

Source code

codesourcesource file
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 code base of a computer programming project is the larger collection of all the source code of all the computer programs which make up the project.

Computer

computerscomputer systemdigital computer
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.
A computer is a machine that can be instructed to carry out sequences of arithmetic or logical operations automatically via computer programming.

Assembly language

assemblerassemblyassembly code
Assembly languages were soon developed that let the programmer specify instruction in a text format, (e.g., ADD X, TOTAL), with abbreviations for each operation code and meaningful names for specifying addresses.
In computer programming, assembly language (or assembler language), often abbreviated asm, is any low-level programming language in which there is a very strong correspondence between the instructions in the language and the architecture's machine code instructions.

Computing

computer technologycomputing technologyapplied computing
Computer programming is the process of designing and building an executable computer program for accomplishing a specific computing task.
The term computer programmer can refer to a specialist in one area of computer programming or to a generalist who writes code for many kinds of software.

Buffer overflow

buffer overflowsbuffer overrunbuffer overruns
In information security and programming, a buffer overflow, or buffer overrun, is an anomaly where a program, while writing data to a buffer, overruns the buffer's boundary and overwrites adjacent memory locations.

Cryptography

cryptographiccryptographercryptology
In the 9th century, the Arab mathematician Al-Kindi described a cryptographic algorithm for deciphering encrypted code, in A Manuscript On Deciphering Cryptographic Messages.
This culminated in the development of the Colossus, the world's first fully electronic, digital, programmable computer, which assisted in the decryption of ciphers generated by the German Army's Lorenz SZ40/42 machine.

Off-by-one error

fencepost erroroff-by-oneFence post error
It often occurs in computer programming when an iterative loop iterates one time too many or too few.

Duplicate code

code duplicationduplicated codeDuplication
Unreadable code often leads to bugs, inefficiencies, and duplicated code.
Duplicate code is a computer programming term for a sequence of source code that occurs more than once, either within a program or across different programs owned or maintained by the same entity.

Indentation style

indentationindent style1TBS
In computer programming, an indentation style is a convention governing the indentation of blocks of code to convey program structure.

Comment (computer programming)

commentcommentsREM
In computer programming, a comment is a programmer-readable explanation or annotation in the source code of a computer program.

Naming convention (programming)

naming conventionsnaming conventionidentifier naming convention
In computer programming, a naming convention is a set of rules for choosing the character sequence to be used for identifiers which denote variables, types, functions, and other entities in source code and documentation.

Programmer

software developercomputer programmerdeveloper
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.
In addition the U.S. Bureau of Labor Statistics Occupational Outlook 2016-26 is -7% (a decline in their words) for Computer Programmers because Computer programming can be done from anywhere in the world, so companies sometimes hire programmers in countries where wages are lower.

Readability

reading levelreadableATOS level
In computer programming, readability refers to the ease with which a human reader can comprehend the purpose, control flow, and operation of source code.
In programming, things such as programmer comments, choice of loop structure, and choice of names can determine the ease with which humans can read computer program code.

Jacquard machine

Jacquard loomJacquardJacquard weaving
In 1801, the Jacquard loom could produce entirely different weaves by changing the "program" - a series of pasteboard cards with holes punched in them.
The ability to change the pattern of the loom's weave by simply changing cards was an important conceptual precursor to the development of computer programming and data entry.

Visual programming language

visual programmingvisualvisual programming languages
Various visual programming languages have also been developed with the intent to resolve readability concerns by adopting non-traditional approaches to code structure and display.

Ismail al-Jazari

Al-Jazarial-Jazari, Ismailal-Jazarī
In 1206, the Arab engineer Al-Jazari invented a programmable drum machine where musical mechanical automata could be made to play different rhythms and drum patterns, via pegs and cams.
Al-Jazari's castle clock is considered to be the earliest programmable analog computer.

Eclipse (software)

EclipseEclipse IDEEclipse RCP
Debugging is often done with IDEs like Eclipse, Visual Studio, Xcode, Kdevelop, NetBeans and Code::Blocks.
Eclipse is an integrated development environment (IDE) used in computer programming.

Software bug

bugsbugsoftware bugs
Finding and fixing bugs, or debugging, is a major part of computer programming.

Agile software development

Agileagile developmentAgile Manifesto
Many programmers use forms of Agile software development where the various stages of formal software development are more integrated together into short cycles that take a few weeks rather than years.
Each iteration involves a cross-functional team working in all functions: planning, analysis, design, coding, unit testing, and acceptance testing.