Skip to content

Latest commit

Β 

History

History
239 lines (238 loc) Β· 6.02 KB

File metadata and controls

239 lines (238 loc) Β· 6.02 KB

Programming fundamental concepts

  • Concepts
    • Model: πŸ–οΈ used
    • Modeling: πŸ–οΈ used
    • Subject domain: πŸŽ“ known
    • Algorithm: πŸ–οΈ used
    • Syntax: πŸ–οΈ used
    • Semantics: πŸ–οΈ used
    • Abstraction: πŸ–οΈ used
    • Paradigm: πŸ–οΈ used
    • Programm: πŸ–οΈ used
    • Programming paradigm: πŸ–οΈ used
    • Programming language: πŸ–οΈ used
    • Contract: πŸ–οΈ used
    • Module: πŸ–οΈ used
    • Library: πŸ–οΈ used
    • Package: πŸ–οΈ used
    • Component: πŸ–οΈ used
    • Framework: πŸ–οΈ used
    • Platform: πŸ–οΈ used
    • Source code: πŸ–οΈ used
    • Object code: πŸ‘‚ heard
    • Machine code: πŸŽ“ known
    • Microcode
    • Software engineering: πŸ–οΈ used
    • Decomposition: πŸ–οΈ used
    • Control flow: πŸ–οΈ used
    • Data flow: πŸ‘‚ heard
    • Code reuse: πŸ–οΈ used
    • Defensive programming
    • Don't repeat yourself (DRY): πŸ–οΈ used
    • KISS principle: πŸ–οΈ used
  • Syntax and concepts
    • Value: πŸ–οΈ used
    • Identifier: πŸ–οΈ used
    • Variable: πŸ–οΈ used
    • Constant: πŸ–οΈ used
    • Scalar: πŸ–οΈ used
    • Literal: πŸ–οΈ used
    • Expression: πŸ–οΈ used
    • Heap: πŸ–οΈ used
    • Function: πŸ–οΈ used
    • Procedure: πŸ–οΈ used
    • Method: πŸ–οΈ used
    • Class: πŸ–οΈ used
    • Prototype: πŸ–οΈ used
    • Event: πŸ–οΈ used
    • Type: πŸ–οΈ used
    • Flag: πŸ–οΈ used
    • Lexical scope: πŸ–οΈ used
    • Code block: πŸ–οΈ used
    • Conditions: πŸ–οΈ used
    • Loops: πŸ–οΈ used
    • Assignment: πŸ–οΈ used
    • Regular expression: πŸ–οΈ used
    • Interface: πŸ–οΈ used
    • Namespaces: πŸ–οΈ used
    • Call stack: πŸ–οΈ used
    • Naming conventions: πŸ–οΈ used
    • Coding conventions: πŸ–οΈ used
    • Camel case: πŸ–οΈ used
    • Snake case: πŸ–οΈ used
    • Kebab case: πŸ–οΈ used
    • Trailing commas: πŸ–οΈ used
    • Return early: πŸ–οΈ used
    • Fail-fast
  • Types
    • Primitive types: πŸ–οΈ used
    • Reference types: πŸ–οΈ used
    • Type systems: πŸ–οΈ used
    • Strong typing: πŸ–οΈ used
    • Weak typing: πŸ–οΈ used
    • Duck typing
    • Static typing: πŸ–οΈ used
    • Dynamic typing: πŸ–οΈ used
    • Nominal typing
    • Structural typing
    • Explicit typing: πŸ–οΈ used
    • Type inference: πŸ–οΈ used
    • Covariance
    • Contravariance
  • Functions
    • Signature: πŸ–οΈ used
    • Argument: πŸ–οΈ used
    • Parameter: πŸ–οΈ used
    • Pure function: πŸ–οΈ used
    • Lambda expression: πŸ–οΈ used
    • Side effects: πŸ–οΈ used
    • Closure: πŸ–οΈ used
    • Partial application: πŸ–οΈ used
    • Currying: πŸŽ“ known
    • Higher order: πŸ–οΈ used
    • Recursion: πŸ–οΈ used
    • Tail call optimisation
    • Callback: πŸ–οΈ used
    • Listener: πŸ–οΈ used
    • Composition: πŸ–οΈ used
    • Pipe: πŸ–οΈ used
    • Memoize: πŸ–οΈ used
    • Wrapper: πŸ–οΈ used
    • Functor: πŸ‘‚ heard
    • Monad: πŸ‘‚ heard
    • Monoid
    • Generator
    • Coroutine
  • Data structures
    • Array: πŸ–οΈ used
    • Structure: πŸ–οΈ used
    • Record: πŸ–οΈ used
    • Enum: πŸ–οΈ used
    • Instance: πŸ–οΈ used
    • Object: πŸ–οΈ used
    • Collection: πŸ–οΈ used
    • Set: πŸ–οΈ used
    • Hash table: πŸ–οΈ used
    • Linked list: πŸ–οΈ used
    • Doubly list: πŸŽ“ known
    • Unrolled list
    • Circular list: πŸŽ“ known
    • Queue: πŸ–οΈ used
    • Stack: πŸ–οΈ used
    • Deque: πŸ‘‚ heard
    • Tree: πŸ–οΈ used
    • Graph: πŸ–οΈ used
    • Iterator: πŸŽ“ known
    • Mutable state: πŸ–οΈ used
    • Immutable state: πŸ–οΈ used
    • Serialization: πŸ–οΈ used
    • String parsing: πŸ–οΈ used
    • JSON: πŸ–οΈ used
    • JSON5: πŸ–οΈ used
    • YAML: πŸ–οΈ used
  • Networking
    • DNS: πŸ–οΈ used
    • CDN: πŸ–οΈ used
    • CORS: πŸ–οΈ used
    • IPv4: πŸ–οΈ used
    • IPv6: πŸ–οΈ used
    • NAT: πŸ–οΈ used
    • URL: πŸ–οΈ used
    • URN
    • URI: πŸ–οΈ used
  • Process and tools
    • Compiler: πŸ–οΈ used
    • Just-in-time compilation: πŸ–οΈ used
    • Ahead-of-time compilation
    • Transpiler: πŸ–οΈ used
    • Linter: πŸ–οΈ used
    • Polyfill: πŸ–οΈ used
    • Interpreter: πŸ–οΈ used
    • Linker
    • Dynamic linking
    • Static linking
    • Runtime: πŸ–οΈ used
    • Virtual machine: πŸ–οΈ used
    • Register-based VM
    • Stack-based VM
    • Containerization: πŸ–οΈ used
    • Debugger: πŸ–οΈ used
    • Tracing: πŸ–οΈ used
    • Garbage collection: πŸ–οΈ used
    • Refactoring: πŸ–οΈ used
    • Code review: πŸ–οΈ used
    • Exception: πŸ–οΈ used
    • Unittesting: πŸ–οΈ used
    • git: πŸ–οΈ used
    • Github: πŸ–οΈ used
    • Docker: πŸ–οΈ used
    • Kubernetes: πŸŽ“ known
    • GCC
    • LLVM
  • Antipatterns
    • Magic numbers: πŸ–οΈ used
    • Hard code: πŸ–οΈ used
    • Soft code: πŸ–οΈ used
    • Cryptic code
    • Improbability factor
    • Accidental complexity: πŸ–οΈ used
    • Action at a distance
    • Spaghetti: πŸ–οΈ used
    • Silver bullet: πŸ–οΈ used
    • Not invented here: πŸ–οΈ used
    • Dead code: πŸ–οΈ used
    • Unreachable code: πŸ–οΈ used
    • Duplicate code: πŸ–οΈ used
    • Premature optimization: πŸ–οΈ used
    • Micro-optimization: πŸ–οΈ used
    • Nested loops: πŸ–οΈ used
    • Long method/function/procedure: πŸ–οΈ used
    • Long inheritance: πŸ‘‚ heard
    • Large class/file: πŸ–οΈ used
    • Too many parameters: πŸ–οΈ used
    • Pass-through parameters: πŸ–οΈ used
    • Accumulate and fire
    • Use switch/case: πŸ–οΈ used
    • Temporary field
    • Handle object as instances and hashes at the same time: πŸ–οΈ used
    • Use fields instead of arguments
    • Data clump
    • Feature envy
    • Monkey patch: πŸ–οΈ used
    • Yo-yo problem
  • Runtimes and virtual machines
    • Bytecode: πŸŽ“ known
    • V8: πŸŽ“ known
    • VJM
    • CLR
    • Mono
  • Operating systems
    • Interrupts
    • Drivers: πŸŽ“ known
    • Kernel: πŸŽ“ known
    • Ring
    • Virtual memory: πŸŽ“ known
    • File system: πŸŽ“ known
    • Linux: πŸ–οΈ used
    • Unix: πŸŽ“ known
    • BSD: πŸ‘‚ heard
    • MacOS: πŸ–οΈ used
    • Windows: πŸ–οΈ used
    • Real-time OS
    • Embedded OS
  • Standards
    • ASCII: πŸ–οΈ used
    • Escape sequence: πŸŽ“ known
    • RFC: πŸ‘‚ heard
    • IETF
    • IANA
    • IEEE
    • Base64: πŸ–οΈ used
    • ECMA
    • ICANN
    • ISO: πŸ–οΈ used
    • MIME: πŸ–οΈ used
    • OWASP: πŸ–οΈ used
    • UTF-8: πŸ–οΈ used
    • W3C: πŸ–οΈ used
    • ODMG