“Programming Paradigm” sounds very affected me and a beloved
verse some of my college professors loved. Definitions of the paradigms may not
be new things to you as a computer science student.There are two types of paradigms. They are,
- Imperative Paradigm
- Declarative Paradigm
Imperative
Paradigm is also known as procedural paradigm.
In here, describes How is to be done. Imperative programs define sequences
of commands for the computer to perform.
For example, I ask my sister to make a cup of tea. Then I
had given set of instructions to complete that task. I explained her to how
to make a tea. This is like an imperative program.
There are two types of imperative programming. They are,
- Procedural Programming
- Object Oriented Programming
Procedural Programming is a set of instructions for Von Neuman m/c. It is computation
by executing instructions. There are iterations and update variables. It does
not have any proper way for hiding data, so it is less secure. Examples: C, Pascal, Fortran.
Object-Oriented Programming have proper way to hiding data, so it provides more security.
Examples: Java, C++, Python.

OOP provide mechanisms to implement object-oriented model. They are,
- Abstraction
- Encapsulation
- Inheritance
- Polymorphism
Abstraction is the most key concept of OOP. It
shows only "relevant data" and hide all the
"unnecessary data" from the user.
For example, when you
are login to the courseweb providing login details, what happen is you don't
know how the data sent to the server as well as how it gets verified. All those things abstracted away from you.
Encapsulation is a logical
boundary around methods and properties and keeps both safe from outsiders and
missuses. In Java, basis of the encapsulation is the class. A class defines
structure and behavior of the objects and sometimes they are referred as
instances of a class.
Inheritance is the procedure by which one object get
properties of another object. Inheritance supports to the concept of
hierarchical classification which provides idea about re-usability. That's why
it is very important than other concepts. For example, 'Kamal' is a part
of the class 'Undergraduate Student' which is again a part of the class
'Student'.
Polymorphism means the ability to get more than one form. Sub
classes of a class can define their own unique behaviors sharing some of the
same functionality of the parent class.
Declarative Paradigm is also known as logic paradigm. In here, describes What is to be done. Declarative programs
express
the logic rather than instructions for the
computer to perform.

For example, I ask my sister to make a cup of tea. In this case, I only explained her what I want. I don’t care how she made it, that’s up to her. This is like a declarative program.
There are two types of declarative programming. They are,
- Logic Programming
- Functional Programming
Logic Programming is a description of the required results in forms of
symbolic logic. Examples: PROLOG.
Functional Programming is a collection of functions. It is computation by term rewriting.
There are Recursions and Assign only once variables. Examples: Haskell.
According to the
imperative programming, there are many side effects and mutable variables. But
in declarative programming, there are no side effects and no mutable variables.
In imperative programs, they express about the control flow but in declarative
programs they express about data flow.
In functional programming,
functions have no side effects. As a result, if you call the same function
twice with the same parameters, it is guaranteed to produce the same
results. This is called referential transparency.
Lambda Calculus
- Lambda Calculus is the foundation of functional programming. The lambda calculus has 3 constructs.they are function definition, function application and variables.
- Lambda expression defines parameters and the body. It doesn't define a name because lambda expression is the anonymous function.
Event-driven programming is different from other programming paradigms
Objects on a controls can be categorized into classes (e.g. "Button", "TextBox" etc.), and many instances of each can appear on a single form. Each class will have attributes that will be common to all objects of that type and each class will define a list of events to which an object of that type will respond. The event-handlers to handle specific events are usually provided as templates to which the programmer simply has to add the code that carries out the required action.
Virtual Run-time Machines
According to the way of processed and executed, languages can be categorized as compiled languages, Scripting languages and markup languages.
- Compiled languages - Some of the languages can directly run on OS(ex: C) and others can run using virtual run-time machines(ex: Java, .NET).
- Scripting languages - Source code is directly executed without any compilation(ex: PHP, JS).
- Markup languages - There is no any compilation or execution. The tools who have knowledge to understand the markup languages can generate the output(ex: HTML, XML).
CASE stands for "Computer Aided Software Engineering". It is the domain of tools used to design and implement applications.
Types of CASE tools,
- Individual Tools - A tool for a specific task of the SDLC.
- Workbenches - Multiple tools are combined to focus on a specific part of the SDLC.
- Environments - Combines many tools to support many activities throughout the Software Development Life Cycle (SDLC).
What are the Frameworks, Libraries and Plugins ?
- Frameworks - Is a collection of libraries, tools, rules, structures to build software systems. At development time, place the code in necessary places and at run time, the framework will call the code.
- Libraries - Add the libraries t the project at development time and at the run time, the libraries will call to the code.
- Plugins - Provide specific tools for development. The plugin is placed in the project and apply some configurations using code at development time. At run-time, the plugins will refer through the configurations.






No comments:
Post a Comment