Programming Fundamentals
There are a variety of different programming fundamentals and patterns, these are some of the most common I have used. Most of these patterns are familiar to Object Oriented Programming (OOP) and to languages that implement typed definitions with interfaces or traits.
Programming principles like concurrency and parallelism introduce concepts around memory management and shared references. Rust is particularly useful in this regard, as the compiler guarantees that mutable memory shared across threads is free of race conditions. Rust allows for manual control over memory, requiring the programmer to explicitly use an atomic reference counter and mutex for cloning the underlying reference and acquiring a locked mutex guard on the data when mutating its value, preventing other threads from writing to that data while held.
Builder Pattern |.............................
Adapter Pattern |.............................
Proxy Pattern |.............................
Bridge Pattern |.............................
Command Pattern |.............................
Decorator Pattern |.............................
Micro-Services |.........................
Mono-Repos |............................
Multi-Threading |......................
Memory Management |....................
------------------|-----------------------------------------
proficiency 0 25 50 75 100