Programming Styles and Paradigms — Procedural, Object-Oriented, Functional and More

Flat illustration of four programming paradigm cards showing procedural flowchart OOP class diagram functional lambda symbol and declarative query bracket in blue and white

The way you structure and organise code is just as important as the code itself. Programming styles — also called programming paradigms — are the fundamental approaches that define how a programmer thinks about and solves problems. Understanding different programming styles makes you a more adaptable, thoughtful developer who can choose the right approach for every problem rather than applying the same pattern to everything.

MYCPLUS has been publishing programming style guides and paradigm tutorials since 2007, covering the most important and widely used coding approaches in modern software development. This section explores the popular programming styles that shape how professional developers write code — from the procedural approach that underpins C programming, through the object-oriented model used in C++, Java and C#, to functional programming techniques increasingly adopted in modern JavaScript, Python and beyond.

With practical examples across multiple programming languages, clear explanations of when and why each style is used, and real-world context showing how professional developers apply different paradigms in production software, this section helps you think beyond syntax and develop a deeper understanding of software design. Whether you are a student studying computer science fundamentals or an experienced developer broadening your technical perspective — start here.

What You’ll Learn:

  • Procedural programming — writing code as a sequence of instructions, using functions and procedures to organise logic, and understanding why procedural style remains the foundation of C and systems programming
  • Object-oriented programming style — organising code around objects and classes, applying encapsulation, inheritance and polymorphism, and understanding why OOP dominates enterprise and application development
  • Functional programming principles — treating functions as first-class values, avoiding shared state and side effects, using higher-order functions and understanding how functional style improves code predictability and testability
  • Declarative programming — expressing what a program should accomplish rather than how, understanding SQL-style thinking, and recognising declarative patterns in modern frameworks and configuration-driven development
  • Event-driven and reactive styles — responding to user actions and system events, understanding callback patterns, event loops and how event-driven architecture underpins modern web and GUI application development
  • Choosing the right programming style — understanding when to apply each paradigm, how modern languages blend multiple styles, and how professional developers mix procedural, OOP and functional techniques in real-world codebases

Why MYCPLUS: Trusted by programmers and computer science students since 2007 — every programming styles tutorial includes practical examples across multiple languages with clear explanations of when and why each paradigm is used in professional software development.

trie data structure

Linux kernel coding style

This is a short document describing the preferred coding style for the Linux kernel. Coding style is very personal, and I won’t _force_ my views on anybody, but this is what goes for anything that I have to be able to maintain, and I’d prefer it for most other things too. Please at least consider the points made here.

Programming Coding

Indian Hill C Coding Styles and Standards

This document is a result of a committee formed at Indian Hill to establish a common set of coding standards and recommendations for the Indian Hill community. The scope of this work is the coding style, not the functional organization of programs. The standards in this document are not specific to ESS programming only.

Scroll to Top