JSON

Programming Paradigms - JSON

Programming paradigms are frameworks that define fundamental approaches and ways of thinking when writing programs. They are mainly divided into two categories: imperative (procedural, object-oriented) and declarative (functional, logic), each providing different problem-solving methodologies. Most modern programming languages support multiple paradigms, allowing developers to choose the most suitable paradigm for their specific challenges.

programming software development programming languages design patterns coding
[
  {
    "code": "01",
    "slug": "procedural",
    "name": "Procedural Programming",
    "description": "A paradigm that structures programs as sequential procedures.",
    "category": "Imperative",
    "languages": [
      "C",
      "Pascal",
      "COBOL",
      "Go",
      "BASIC"
    ]
  },
  {
    "code": "02",
    "slug": "object-oriented",
    "name": "Object-Oriented Programming",
    "description": "A paradigm that organizes data and procedures into objects.",
    "category": "Imperative",
    "languages": [
      "Java",
      "C++",
      "Python",
      "C#",
      "Ruby",
      "Smalltalk",
      "Simula"
    ]
  },
  {
    "code": "03",
    "slug": "functional",
    "name": "Functional Programming",
    "description": "A paradigm that composes programs using mathematical functions.",
    "category": "Declarative",
    "languages": [
      "Haskell",
      "Scala",
      "Erlang",
      "F#",
      "Lisp",
      "Clojure",
      "ML"
    ]
  },
  {
    "code": "04",
    "slug": "logic",
    "name": "Logic Programming",
    "description": "A paradigm that solves problems through logical inference based on logical expressions and rules.",
    "category": "Declarative",
    "languages": [
      "Prolog",
      "Datalog",
      "Answer Set Programming (ASP)"
    ]
  },
  {
    "code": "05",
    "slug": "concurrent",
    "name": "Concurrent Programming",
    "description": "A paradigm that emphasizes executing multiple processes simultaneously.",
    "category": "Other",
    "languages": [
      "Go",
      "Erlang",
      "Rust",
      "Java",
      "C#"
    ]
  },
  {
    "code": "06",
    "slug": "generic",
    "name": "Generic Programming",
    "description": "A paradigm that uses parameterized types and type classes.",
    "category": "Other",
    "languages": [
      "C++",
      "Java",
      "C#",
      "Haskell",
      "Rust",
      "Swift"
    ]
  }
]