Paradigm

Begun, the code war has...


A programming paradigm is the fundamental theory or style of how to build the structure and elements of a program. Some programming languages are focused on certain paradigms and examples of these are listed after the name in this list. The paradigms are independent of each other and can be mixed depending on the focus of the program one is writing.

Procedural : C and Basic

This style of programming focus on the procedures, also known as functions, that make up the program. These procedures are created to do stuff and they can use other procedures or get called by procedures. Data are sent to and returned by procedures or stored in global variables as needed. The focus of this style is the code and the code exist in the form of procedures that do things. Procedures can be grouped with each other in modules that are functions that the programmer feel like the belong together for some reason.

Object-oriented programming (OOP) : C++, C# and Python

OOP focus on 'objects' that have data fields (state) and associated procedures (behavior). Inheritance can create hierarchies of objects so it is possible to have a vehicle object and then create car and truck objects from it. OOP is about deciding what types (called classes) of objects are needed and what data and procedures they have. Then how they inherit or contain each other and how they interact.

Design pattern

Names for common general solution to problems in programming.

Data-driven development (DDD)

In DDD the focus is to hardcode as few thing as possible. The data created by artists should determine the game behavior and aesthetics. They should be able to add new content and iterate on it faster without being dependent on a programmer.

Data oriented design (DOD)

Focus on making the data fit the way the computer use it.

Concurrent programming

Concurrent programming is how to program multithreaded programs.

Reference

Minimalism in Programming - 2018

Technical debt is a good metaphor - 2018

The Tragedy of Craftsmanship - 2018

Random Things About Code - 2018

Building your mental toolbox for solving coding problems - 2015

Coding structures that cause bugs - 2014

The Other Cost of Code Bloat - 2009

Safety - 2009