A) Definition
Programming refers to the process of instructing a computer to perform specific tasks by
providing it with a set of instructions written in a formal language. These instructions, known as
code, guide the computer through a sequence of operations, enabling it to manipulate data and
produce desired outputs (Dijkstra, 1972). At its core, programming involves problem-solving,
logical reasoning, and creativity, as programmers craft algorithms to address various
computational challenges.
In its simplest form, programming refers to the process of providing a set of instructions to a
computer in a language it can understand. These instructions, known as code, dictate a sequence
of actions the computer needs to perform to achieve a specific outcome. Imagine programming
as giving a detailed recipe to a chef. Just as the recipe outlines the steps needed to create a dish,
code outlines the steps needed for the computer to complete a task.
B) Different Programming Approaches
• In the vast landscape of programming, several approaches dictate how code is structured
and organized. These approaches include procedural programming, object-oriented
programming (OOP), functional programming, and event-driven programming, among
others.
• Procedural Programming: This approach breaks down a program into smaller,
reusable procedures or functions, focusing on step-by-step execution of instructions
(Myers, 1978).
• Object-Oriented Programming (OOP): OOP revolves around the concept of objects,
which encapsulate data and behavior. It emphasizes the modeling of real-world entities
and promotes code reusability and maintainability.
• Functional Programming: Functional programming treats computation as the
evaluation of mathematical functions. It emphasizes immutability and avoids side effects,
enhancing code reliability and readability.
• Event-Driven Programming: In this approach, programs respond to events triggered
by user interactions or system events, enabling asynchronous and interactive behavior
(Liskov & Zilles, 1974).
Each programming approach offers distinct advantages and is suitable for different types of
applications, depending on factors such as complexity, scalability, and maintainability.
C) Structured Approach: Advantages and Disadvantages
• Structured programming is a disciplined approach that emphasizes the use of structured
control flow constructs, such as sequences, loops, and conditionals, to improve code
readability and maintainability. Some advantages of structured programming include:
• Clarity: Structured programming promotes clear and understandable code, making it
easier to is easier to read and understand (Yourdon, 1989).
• Modularity: By breaking down programs into smaller, manageable modules,
structured programming facilitates code reuse and enhances scalability.
• Debugging: The structured nature of code simplifies the debugging process, as errors
are localized within specific modules, making them easier to identify and rectify.
• However, despite these enormous merits, structured programming also has its
disadvantages:
• Limited Expressiveness: Strict adherence to structured constructs may limit the
expressiveness of code, making it challenging to implement certain algorithms efficiently
(Dijkstra, 1972).
• Overhead: Introducing additional layers of structure can lead to overhead, potentially
impacting performance in resource-constrained environments.
• Limited flexibility: Structured code can be inflexible, making it difficult to adapt to
changing requirements.
• Increased complexity: Structured code can be more complex, as it requires the use of
control structures and modules.
• Limited reuse: Structured code may not be reusable in all situations, as it may be
specific to a particular program or system.