- Source: Outline of computer programming
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) 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 specific task or solving a given problem.
History
History of computer science
History of computing hardware
History of computing hardware (1960s–present)
History of programming languages
Timeline of programming languages
Computer programming in the punched card era
Operating systems timeline
Platforms
Computer
Computer hardware
Analog computer
Analytical Engine
Digital computer
Vacuum-tube computer
List of vacuum-tube computers
Transistor computer
List of transistorized computers
Mainframe
Minicomputer
Microcomputer
Home computers
IBM PC compatible
Personal computer
Desktop computer
Laptop computer
Mobile computer
Personal digital assistant (PDA)
Smartphone
Tablet computer
Wearable computer
Server
Supercomputer
Virtual machine
Hardware virtualization
Runtime system
Paradigms
Agent-oriented
Aspect-oriented
Automata-based
Class-based
Concatenative
Concept
Concurrent
Data-driven
Declarative (as opposed to imperative programming)
Constraint
Constraint logic
Concurrent constraint logic
Dataflow
Flow-based (FBP)
Reactive
Functional
Functional logic
Purely functional
Logic
Abductive logic
Answer set
Concurrent logic
Functional logic
Inductive logic
Probabilistic logic
Event-driven
Time-driven
Expression-oriented
Feature-oriented
Function-level (as opposed to value-level programming)
Generic
Imperative (as opposed to declarative programming)
Literate
Procedural
Inductive programming
Language-oriented (LOP)
Natural language programming
Intentional
Non-structured (as opposed to Structured)
Array
Nondeterministic
Probabilistic
Process-oriented
Role-oriented
Semantic-oriented (SOP)
Structured (as opposed to non-structured programming)
Block-structured
Modular
Concurrent computing
Relativistic programming
Object-oriented (OOP)
Class-based
Concurrent OOP
Prototype-based
Subject-oriented
Tacit
Value-level (as opposed to function-level programming)
Visual
Writing programs
Pseudocode
= Methodology
=Array programming
End-user development
Metaprogramming
Automatic programming
Reflection
Attribute-oriented programming (AOP)
Homoiconicity
Template metaprogramming
Policy-based design
Service-oriented architecture
Service-oriented modeling
Recursion
Separation of concerns
Threaded coding
Algorithms
List of algorithms
List of algorithm general topics
Algorithm characterizations
Introduction to Algorithms
Theory of computation
Computational complexity theory
Analysis of algorithms
Empirical algorithmics
Big O notation
Algorithmic efficiency
Algorithmic information theory
Algorithmic probability
Algorithmically random sequence
Search algorithm
Sorting algorithm
Merge algorithm
String algorithms
Greedy algorithm
Reduction
Sequential algorithm
Parallel algorithm
Distributed algorithm
Deterministic algorithm
Randomized algorithm
Quantum algorithm
Programming languages
Programming 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
Alphabetical list of programming languages
Compiled language
Interpreted language
Scripting language
Comparison of programming languages
Programming language dialect
Programming language theory
Formal semantics of programming languages
Assembly language
Macro
= Attributes of programming languages
=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
=The top 20 most popular programming languages as of December 2022:
Python
C
C++
Java
C#
Visual Basic .NET
JavaScript
SQL
Assembly language
PHP
R
Go
Classic Visual Basic
MATLAB
Swift
Delphi/Object Pascal
Ruby
Perl
Objective-C
Rust
= Anatomy of a programming language
=Syntax
Lexical grammar
Semicolons
Values
Types
Operators
Program structures
Variables
Expressions
Statements
Keywords and reserved words
Control structures
Subroutines (also known as functions)
Anonymous functions
Loops
For loops
While loops
Conditionals
If-then
If-then-else
Case and switch statements
Control flow
Data structures
Objects
Arrays
Regular expressions
= Comparisons of programming languages
=Programming 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
ALGOL 58's influence on ALGOL 60
ALGOL 60: Comparisons with other languages
Comparison of ALGOL 68 and C++
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
Programmer
Source code
Parsing
Compilation
Preprocessing
Translation
Assembly
Linking
Compiler optimization
Compilation error
Software
Computer program
Hello world (a common form of example program for learning programmers)
Application software
Software suite
Database management system
Programming software
Programming tool
Text editor
Source code editor
Integrated development environment (IDE)
Assembler
Compiler
Interpreter
Linker
Debugger
System software
= Components
=Instruction
Library
Application programming interface (API)
= Software development
=Software development
Software development process
Debugging
Human error
Software development methodology
Agile software development
Extreme programming
= Software engineering
=Software engineering –
Implementation
Execution
Software architecture
Software reliability
Software quality
Software testing
Software maintenance
Software optimization
Software brittleness
See also
Outline of computers
Outline of computing
Outline of computer science
Outline of artificial intelligence
Outline of cryptography
Outline of the Internet
Outline of Google
Outline of software
Types of software
Outline of free software
Outline of search engines
Outline of software development
Outline of software engineering
Outline of web design and web development
Outline of computer programming
Programming languages
Outline of C++
Outline of Perl
References
External links
How to Think Like a Computer Scientist - by Jeffrey Elkner, Allen B. Downey and Chris Meyers
Kata Kunci Pencarian:
- The Art of Computer Programming
- Apple Inc.
- RISC
- Logaritma
- Outline of computer programming
- Outline of computers
- Outline of computer science
- Outline of web design and web development
- List of software development philosophies
- Computer programming
- Outline of computer engineering
- Outline of software
- The Art of Computer Programming
- Outline of human–computer interaction