|
| 1 | +# HowProgrammingWorks Repositories Index |
| 2 | +| [English](README.md) | [Русский](README.ru.md) | [Українська](README.uk.md) | |
| 3 | + |
| 4 | +## Basic Concepts |
| 5 | + |
| 6 | + 1. [Abstractions](https://github.com/HowProgrammingWorks/Abstractions) as an essence of programming and engenering at all |
| 7 | + 2. Variables and data types, scalar and reference, objects, arrays and data structures |
| 8 | + 3. [Functions](https://github.com/HowProgrammingWorks/Function) including anonymous functions and lambdas |
| 9 | + 4. Pure functions and side effects |
| 10 | + 5. Superposition and [Composition](https://github.com/HowProgrammingWorks/Composition) |
| 11 | + 6. [Partial application](https://github.com/HowProgrammingWorks/PartialApplication), currying and [wrapping](https://github.com/HowProgrammingWorks/Wrapper) functions |
| 12 | + 7. [Higher order functions](https://github.com/HowProgrammingWorks/HigherOrderFunction) including callbacks and [closures](https://github.com/HowProgrammingWorks/Closure) |
| 13 | + 8. [Iteration](https://github.com/HowProgrammingWorks/Iteration) and loops |
| 14 | +<!-- |
| 15 | +Generics |
| 16 | +https://github.com/HowProgrammingWorks/DataTypes |
| 17 | +https://github.com/HowProgrammingWorks/DataStructures |
| 18 | +https://github.com/HowProgrammingWorks/String |
| 19 | +https://github.com/HowProgrammingWorks/Set |
| 20 | +--> |
| 21 | + |
| 22 | +## Related Topics |
| 23 | + |
| 24 | + 1. [Development tools and environment configuration](https://github.com/HowProgrammingWorks/Tools) |
| 25 | + 2. [Version control](https://github.com/HowProgrammingWorks/VersionControl) systems and working in groups |
| 26 | + 3. [Code style](https://github.com/HowProgrammingWorks/CodeStyle) and conventions |
| 27 | + 4. Code [benchmarking](https://github.com/HowProgrammingWorks/Benchmark) |
| 28 | + |
| 29 | +## Data Structures |
| 30 | + |
| 31 | + 1. [Linked lists](https://github.com/HowProgrammingWorks/LinkedList): singly, doubly, circular |
| 32 | + 2. [Trees](https://github.com/HowProgrammingWorks/TreeNode): classification, implementation, traversion |
| 33 | + 3. Graphs including [directed](https://github.com/HowProgrammingWorks/DirectedGraph) graphs |
| 34 | +<!-- |
| 35 | +https://github.com/HowProgrammingWorks/Collections |
| 36 | +--> |
| 37 | + |
| 38 | +## Advanced Concepts |
| 39 | + |
| 40 | + 1. [Functors](https://github.com/HowProgrammingWorks/Functor), applicative functors and monads |
| 41 | + 2 Caching and [Memoization](https://github.com/HowProgrammingWorks/Memoization) |
| 42 | + 3. [Mixins](https://github.com/HowProgrammingWorks/Mixin) as decorators and nonlinear inheritance |
| 43 | + 4. Iterators and [generators](https://github.com/HowProgrammingWorks/Generator) |
| 44 | + 5. [Asynchronous execution](https://github.com/HowProgrammingWorks/AsynchronousProgramming), I/O and parallelism |
| 45 | + 6. Events and [EventEmitter](https://github.com/HowProgrammingWorks/EventEmitter) |
| 46 | + 7. [Promises](https://github.com/HowProgrammingWorks/Promise) and [chaining](https://github.com/HowProgrammingWorks/Chaining) |
| 47 | + 8. [Serialization](https://github.com/HowProgrammingWorks/Serialization) and deserialization |
| 48 | + 9. [Regular expressions](https://github.com/HowProgrammingWorks/RegExp) |
| 49 | +<!-- |
| 50 | +https://github.com/HowProgrammingWorks/Concurrency |
| 51 | +https://github.com/HowProgrammingWorks/Proxy |
| 52 | +https://github.com/HowProgrammingWorks/Symbol |
| 53 | +--> |
| 54 | + |
| 55 | +## Software Architecture |
| 56 | + |
| 57 | + 1. [Modularity](https://github.com/HowProgrammingWorks/Modularity) and Dependency |
| 58 | + 2. [Inversion of Control](https://github.com/HowProgrammingWorks/InversionOfControl) |
| 59 | + 3. [Dependency Injection](https://github.com/HowProgrammingWorks/DependencyInjection) |
| 60 | + 4. [Inter-process Communication](https://github.com/HowProgrammingWorks/InterProcessCommunication) |
| 61 | + 5. [Sandboxing](https://github.com/HowProgrammingWorks/Sandboxes) |
| 62 | + 6. Multi-layer and Multi-tier Architecture |
| 63 | + 7. Data Access Layer, Cursors and Object-Relational Mapping |
| 64 | + 8. Application Servers, thin and thic clients |
| 65 | + 9. Introspection, Reflection and Scaffolding |
| 66 | + |
| 67 | +## Practical Examples |
| 68 | + |
| 69 | + 1. Routing for [HTTP Server](https://github.com/HowProgrammingWorks/NodeServer) |
| 70 | + 2. [Websocket Chat](https://github.com/HowProgrammingWorks/WebsocketChat) |
| 71 | + 3. Interactive multi-user [LiveTable](https://github.com/HowProgrammingWorks/LiveTable) |
| 72 | + 4. Data [Projection](https://github.com/HowProgrammingWorks/Projection) |
| 73 | + |
| 74 | +## Programming Paradigms and Techniques |
| 75 | + |
| 76 | + 1. Imperative, non-structured, structured and procedural programming |
| 77 | + 2. Functional programming |
| 78 | + 3. Logic, declarative and automata-based programming |
| 79 | + 4. Language-oriented programming and domain-specific languages |
| 80 | + 5. Object-oriented and prototype-oriented programming |
| 81 | + 6. Asynchronous, Reactive and [Event-driven programming](https://github.com/HowProgrammingWorks/EventDrivenProgramming) |
| 82 | + 7. Probabilistic programming |
| 83 | + 8. [Data-driven programming](https://github.com/HowProgrammingWorks/DataDrivenProgramming) |
| 84 | + 9. [Metaprogramming](https://github.com/HowProgrammingWorks/Metaprogramming) |
0 commit comments