Outline Of Computer Programming

From Handwiki

Short description: Overview of and topical guide to 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[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 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
  • 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
  • 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
  • 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)
  • Probabilistic
  • Concept

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

Types of programming languages

  • Array programming language
  • Aspect-oriented programming language
  • Class-based programming language
  • Concatenative programming language
  • Concurrent programming language
  • Dataflow programming language
  • Declarative programming language
  • Domain-specific language
  • Dynamic programming language
  • Esoteric programming language
  • Event-driven programming language
  • Extensible programming language
  • Functional programming language
  • High-level programming language
  • Imperative programming language
  • Interpreted language
  • Logic programming language
  • Low-level programming language
  • Machine programming language
  • Metaprogramming programming language
  • Multi-paradigm programming language
  • Non-English-based programming language
  • Object-based language
  • Object-oriented programming language
  • Off-side rule programming language
  • Pipeline programming language
  • Procedural programming language
  • Prototype-based programming language
  • Reflective programming language
  • Rule-based programming language
  • Synchronous programming language
  • Very high-level programming language
  • Visual programming language

Popular languages

The top 20 most popular programming languages (As of December 2022):[3]

  1. Python
  2. C
  3. C++
  4. Java
  5. C#
  6. Visual Basic .NET
  7. JavaScript
  8. SQL
  9. Assembly language
  10. PHP
  11. R
  12. Go
  13. Classic Visual Basic
  14. MATLAB
  15. Swift
  16. Delphi/Object Pascal
  17. Ruby
  18. Perl
  19. Objective-C
  20. 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

  • Java and .NET platforms
  • 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

  1. Shaun Bebbington (2014). "What is coding". http://yearofcodes.tumblr.com/what-is-coding. 
  2. Shaun Bebbington (2014). "What is programming". http://yearofcodes.tumblr.com/what-is-programming. 
  3. "index | TIOBE - The Software Quality Company". https://www.tiobe.com/tiobe-index/. 

External links

  • How to Think Like a Computer Scientist - by Jeffrey Elkner, Allen B. Downey and Chris Meyers



Retrieved from "https://handwiki.org/wiki/index.php?title=Outline_of_computer_programming&oldid=3720259"

Categories: [Computer programming] [Computing-related lists] [Outlines of sciences] [Outlines]


Download as ZWI file | Last modified: 07/22/2024 17:45:18 | 12 views
☰ Source: https://handwiki.org/wiki/Outline_of_computer_programming | License: CC BY-SA 3.0

ZWI is not signed. [what is this?]