The following outline is provided as an overview of and topical guide to computer programming:
Computer programming – process that leads from an original formulation of a computing problem to executable computer programs. Programming involves activities such as analysis, developing understanding, generating algorithms, verification of requirements of algorithms including their correctness and resources consumption, and implementation (commonly referred to as coding[1][2]) of algorithms in a target programming language. Source code is written in one or more programming languages. The purpose of programming is to find a sequence of instructions that will automate performing a given task or solving a given problem.
History
editPlatforms
editParadigms
edit- Agent-oriented
- Aspect-oriented
- Automata-based
- Class-based
- Concatenative
- Concept
- Concurrent
- Data-driven
- Declarative (in contrast to imperative programming)
- Event-driven
- Expression-oriented
- Feature-oriented
- Function-level (in contrast to value-level programming)
- Generic
- Imperative (in contrast to declarative programming)
- Inductive programming
- Language-oriented (LOP)
- Non-structured (in contrast to Structured)
- Nondeterministic
- Probabilistic
- Process-oriented
- Role-oriented
- Semantic-oriented (SOP)
- Structured (in contrast to non-structured programming)
- Tacit
- Value-level (in contrast to function-level programming)
- Visual
Writing programs
editMethodology
editAlgorithms
edit- List of algorithms
- List of algorithm general topics
- Algorithm characterizations
- Theory of computation
- Search algorithm
- Sorting algorithm
- Merge algorithm
- String algorithms
- Greedy algorithm
- Reduction
- Sequential algorithm
- Parallel algorithm
- Deterministic algorithm
- Randomized algorithm
- Quantum algorithm
Programming languages
editProgramming language – formal constructed language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs to control the behavior of a machine or to express algorithms.
- Generational list of programming languages
- List of programming languages by type
- List of open-source programming languages
- Alphabetical list of programming languages
- Comparison of programming languages
- Programming language dialect
- Programming language theory
- Assembly language
- Macro
Attributes of programming languages
edit- Domain-specific language
- Dynamic programming language
- Esoteric programming language
- Extensible programming language
- High-level programming language
- Interpreted language
- Low-level programming language
- Machine programming language
- Multi-paradigm programming language
- Non-English-based programming language
- Object-based language
- Off-side rule programming language
- Reflective programming language
- Synchronous programming language
- Very high-level programming language
Popular languages
editAnatomy of a programming language
editComparisons of programming languages
editProgramming language comparisons
- General comparison
- Basic syntax
- Basic instructions
- Exception handling
- Enumerated types
- Anonymous functions
- Conditional expressions
- Functional instructions
- Arrays
- Associative arrays
- String operations
- String functions
- List comprehension
- Object-oriented programming
- Object-oriented constructors
- While loops
- For loops
- Evaluation strategy
- List of "Hello World" programs
- Languages with dependent types
- Comparison of type systems
Comparisons of individual languages
edit- ALGOL 58's influence on ALGOL 60
- ALGOL 60: Comparisons with other languages
- ALGOL 68: Comparisons with other languages
- Compatibility of C and C++
- Comparison of Pascal and Borland Delphi
- Comparison of Object Pascal and C
- Comparison of Pascal and C
- Comparison of Java and C++
- Comparison of C# and Java
- Comparison of C# and Visual Basic .NET
- Comparison of Visual Basic and Visual Basic .NET
Compilation
editSoftware
edit- Computer program
- Hello world (a common form of example program for learning programmers)
- Application software
- Programming software
- System software
Components
editSoftware development
editSoftware engineering
editSee also
edit- Outline of computers
- Outline of computing
- Outline of computer science
- Outline of the Internet
- Outline of software
- Types of software
- Outline of software development
- Outline of software engineering
- Outline of web design and web development
- Outline of computer programming
- Programming languages
- Outline of the C programming language
- Outline of the C++ programming language
- Outline of the C sharp programming language
- Outline of the Java programming language
- Outline of the JavaScript programming language
- Outline of the Perl programming language
- Outline of the Python programming language
- Outline of the Rust programming language
- Programming languages
- Outline of computing
References
edit- ↑ Shaun Bebbington (2014). "What is coding". Retrieved 2014-03-03.
- ↑ Shaun Bebbington (2014). "What is programming". Retrieved 2014-03-03.
- ↑ "Index". TIOBE.com – The Software Quality Company. Retrieved 2025-12-14.
External links
edit- How to Think Like a Computer Scientist – by Jeffrey Elkner, Allen B. Downey and Chris Meyers