Paradigm ↔ approach/mindset of coding style, structure & technique to write Source Code
aka Paradigms, Programming-Paradigm, Coding-Paradigm
Paradigms subdivide as Imperative or Declarative
Declarative
(Paradigm) to express logic w/o explicit Control Flow via Abstraction
Imperative
(Paradigm) to express logic with explicit Control Flow via step-wise instructions
OOP
Paradigm to organize & structure data as Object
Functional Programming
(Paradigm) to construct Programs as MCF (Modular Composable Functions ) (Modular Composable)
Paradigms (ie OOP, Procedural Programming & Functional Programming) are used to organize & structure Source Code; avoid Spaghetti Code
Spaghetti Code
Messy Source Code with obfuscated Semantic 🍜👨💻
Separation of Concerns
(Paradigm) to Encapsulate (Software) into dintinct modular sections vs purpose/logic
No-Code
(Paradigm) buzzword trend to separate Business Logic from hand-coding skill, via WYSIWYG Dev tool
Low-Code
(Paradigm) to reduce manual typing for Code via Framework, Lib, Boilerplate/snippet generators, etc
References
Imperative↔ (Paradigm) to express logic with explicit Control Flow via step-wise instructionsDeclarative↔ (Paradigm) to express logic w/o explicit Control Flow via AbstractionComponent Based Architecture↔ (Paradigm) to visualize UI as Component to architect (DOS (Design Organize Structure )) AppsProcedural Programming↔ (Paradigm) Imperative subset to split Program into smaller sub-tasks (Procedure)C↔ Low-Level General-Purpose Programming Language with Imperative Procedural Programming ParadigmDecomposition↔ Factoring; Paradigm stragegy for organizing Program by breaking down complex system into simpler partsMulti-paradigm↔ (property) Programming Language flexible & versatile, to allow multiple Paradigms to pick & choose fromInheritance↔ (Paradigm) to share properties & methods of parent class to child classesPolymorphism↔ (Paradigm) Child class can overwrite inherit property/methodEncapsulation↔ (Paradigm) to pack properties & methods into component, to keep private and restrict access (unless expose via API)Abstraction↔ (Paradigm) to ignore/hide Low-Level details to focus on implementCI↔ (Paradigm) to frequently Merge in small maintable chunks via CI ServerCD↔ (Paradigm) to frequently push code out to customers fasterDevOps↔ (Paradigm) to iterate faster TBD smaller steps via CI/CD integration, push code ASAFPNo-Code↔ (Paradigm) buzzword trend to separate Business Logic from hand-coding skill, via WYSIWYG Dev toolLow-Code↔ (Paradigm) to reduce manual typing for Code via Framework, Lib, Boilerplate/snippet generators, etcSeparation of Concerns↔ (Paradigm) to Encapsulate (Software) into dintinct modular sections vs purpose/logicFunctional Programming↔ (Paradigm) to construct Programs as MCF (Modular Composable Functions ) (Modular Composable)REST↔ (standard)(model)(Paradigm) Client-Server Architecture to organize stateless Cachable Data FetchLogic Programming↔ (Paradigm) for Programming Language as logical sentences to express fact/rule of problem domain, let system derive solutionMicroservices↔ cloud-native Functional Paradigm to architect App by split functions into Containerize service to deploy as Online APIComponent-Driven↔ Paradigm to build UI bottom up from basic to assemblyReact Concepts↔ Definitions on React Concepts, Paradigms & Comparisons to other frameworks