Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
95 views

Discuss in Details 10 Each of Programming Paradigm and Computing Technology

The document discusses 10 different programming paradigms and computing technologies: 1. Imperative programming focuses on step-by-step instructions and variable state. 2. Functional programming views all programs as mathematical functions. 3. Logical programming uses logical rules and queries. 4. Object-oriented programming represents real-world entities as classes and objects. 5. Declarative programming specifies what to achieve without how. 6. Database processing focuses on structured data storage and retrieval. 7. Event-driven programming uses emitters and listeners for asynchronous events. 8. Flow-driven programming has processes communicate over predefined channels.

Uploaded by

Brilliant steps
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
95 views

Discuss in Details 10 Each of Programming Paradigm and Computing Technology

The document discusses 10 different programming paradigms and computing technologies: 1. Imperative programming focuses on step-by-step instructions and variable state. 2. Functional programming views all programs as mathematical functions. 3. Logical programming uses logical rules and queries. 4. Object-oriented programming represents real-world entities as classes and objects. 5. Declarative programming specifies what to achieve without how. 6. Database processing focuses on structured data storage and retrieval. 7. Event-driven programming uses emitters and listeners for asynchronous events. 8. Flow-driven programming has processes communicate over predefined channels.

Uploaded by

Brilliant steps
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

1. Discuss in details 10 each of programming paradigm and computing technology.

2. Explain how each of the paradigm is useful in the application of the computing
technology to real life computing benefits.
3. Discuss any methodology or methodologies that are applicable in driving new grounds in
the identified computing technologies.

Discuss in details 10 each of programming paradigm and computing technology.

1. Imperative

 The imperative programming paradigm assumes that the computer can


maintain through environments of variables any changes in a computation
process. Computations are performed through a guided sequence of steps, in
which these variables are referred to or changed. The order of the steps is
crucial, because a given step will have different consequences depending on
the current values of variables when the step is executed.
 Imperative Languages:
Popular programming languages are imperative more often than they are
any other paradigm studies in this course. There are two reasons for such
popularity:
1. the imperative paradigm most closely resembles the actual machine
itself, so the programmer is much closer to the machine;
2. because of such closeness, the imperative paradigm was the only one
efficient enough for widespread use until recently.
 Advantages

o efficient;
o close to the machine;
o popular;
o familiar.
Disadvantages
o The semantics of a program can be complex to understand or prove,
because of referential transparency does not hold(due to side effects)
o Side effects also make debugging harder;
o Abstration is more limitted than with some paradigms;
o Order is crucial, which doesn't always suit itself to problems.

2. Function
o The Functional Programming paradigm views all subprograms as
functions in the mathematical sense-informally, they take in
arguments and return a single solution. The solution returned is based
entirely on the input, and the time at which a function is called has no
relevance. The computational model is therefore one of function
application and reduction.
o Languages
Functional languages are created based on the functional paradigm.
Such languages permit functional solutions to problems by permitting
a programmer to treat functions as first-class objects(they can be
treated as data, assumed to have the value of what they return;
therefore, they can be passed to other functions as arguments or
returned from functions).
o Advantages
The following are desirable properties of a functional language:
1. The high level of abstraction, especially when functions are
used, supresses many of the details of programming and thus
removes the possibility of commiting many classes of errors;
2. The lack of dependence on assignment operations, allowing
programs to be evaluated in many different orders. This
evaluation order independence makes function-oriented
languages good candidates for programming massively parallel
computers;
3. The absence of assignment operations makes the function-
oriented programs much more amenable to mathematical proof
and analysis than are imperative programs, because functional
programs possess referential transparency.
o Disadvantages
1. Perhaps less efficiencey
2. Problems involving many variables or a lot of sequential activity
are sometimes easier to handle imperatively or with object-
oriented programming.
3. Logic

3.The Logical Paradigm takes a declarative approach to problem-solving. Various


logical assertions about a situation are made, establishing all known facts. Then
queries are made. The role of the computer becomes maintaining data and logical
deduction.
o Logical Paradigm Programming:
A logical program is divided into three sections:
1. a series of definitions/declarations that define the problem
domain
2. statements of relevant facts
3. statement of goals in the form of a query

Any deducible solution to a query is returned. The definitions and


declarations are constructed entirely from relations. i.e. X is a member
of Y or X is in the internal between a and b etc.

o Advantages:
The advantages of logic oriented programming are bifold:
1. The system solves the problem, so the programming steps
themselves are kept to a minimum;
2. Proving the validity of a given program is simple.

4. Object-Oriented Programming(OO):
In this framework, all real-world entities are represented by Classes. Objects are
instances of classes so each object encapsulates a state and behavior. State implies
the fields, attributes of the object and behavior is what you do with the state of the
object and they are the methods. Objects interact with each other by passing
messages.

Features of OO:

 Encapsulation – This is a fundamental feature of Object-Oriented Programming. Here


you hide unnecessary details in classes and deliver a simple and clear interface for
working. It describes the idea of bundling data and methods that work on that data within
one unit. This concept is also often used to hide the internal representation, or state, of
an object from the outside
 Inheritance - Inheritance is one of the core concepts of object-oriented programming
(OOP) languages. It is a mechanism where you can derive a class from another class for
a hierarchy of classes that share a set of attributes and methods. It explains how the
class hierarchies develop code readability and support to the reuse of functionality.
 Data Abstraction - to Data abstraction is the reduction of a particular body of data to a
simplified representation of the whole. Data abstraction is usually the first step in
database design.
 Polymorphism - Polymorphism is an object-oriented programming concept that refers
to the ability of a variable, function or object to take on multiple forms.
Programming languages that have implemented the OO paradigm are: Ruby, Java, C+
+, Python, Simula(the first OOP language)
5. Declarative programming paradigm

Declarative programming is a style of building programs that expresses the logic of a


computation without talking about its control flow.

Declarative programming is a programming paradigm in which the programmer defines what


needs to be accomplished by the program without defining how it needs to be implemented. In
other words, the approach focuses on what needs to be achieved instead of instructing how to
achieve it.

6. Database processing approach

This programming methodology is based on data and its movement. Program statements are
defined by data rather than hard-coding a series of steps.

A database is an organized collection of structured information, or data, typically stored


electronically in a computer system. A database is usually controlled by a database management
system (DBMS) ("What is a Database", Oracle, 2019).

To process the data and querying them, databases use tables. Data can then be easily accessed,
managed, modified, updated, controlled and organized.

A good database processing approach is crucial to any company or organization. This is because
the database stores all the pertinent details about the company such as employee records,
transaction records and salary details.

7. Event-Driven: Programming with emitters and listeners of asynchronous


actions.
8. Event driven programming is the outline for particularly for window
application that include client intelligent. There are a variety of
highlights that make Event driven that makes the application
substantially quicker and simple. There are a few highlights, for example,
simplified question the frame. There are some basic control, for
example, catch, name, picture and other. Operating system could be for
instance an example of an Event Driven Language.
9. The event are utilised with highlights, for example, Event Triggers, Event
Handlers, Event Loops, Sensors in which this Programming application
can be utilised inside designer’s every day survives Event Handlers (e.g.
clicking a mouse button is an event handler). Event Driven Programming
has a noteworthy decent Ease of Use and any designer can without
much of a stretch take in this Programming application and can begin
planning and creating projects upon as it gives you insights and
blunders inside the lines of Visual Basic code to settle the code, so the
task is working completely without any mistakes.

10.Flow-Driven: Programming processes communicating with each other


over predefined channels.

Flow-Based Programming (FBP) is a programming


paradigm, discovered/invented by J. Paul Rodker
Morrison in the late '60s, that uses a "data processing
factory" metaphor for designing and building
applications. FBP defines applications as networks of
"black box" processes, which communicate via data
chunks (called Information Packets) travelling across
predefined connections (think "conveyor belts"), where
the connections are specified externally to the processes.
These black box processes can be reconnected endlessly
to form different applications without having to be
changed internally. FBP is thus naturally component-
oriented.
BP is a special case of dataflow programming
characterized by asynchronous, concurrent processes
"under the covers", Information Packets with defined
lifetimes, named ports, "bounded buffer" connections,
and definition of connections external to the components
- it has been found to support improved development
time and maintainability, reusability, rapid prototyping,
simulation, improved performance, and good
communication among developers, maintenance staff,
users, systems people, and management - not to mention
that FBP naturally takes advantage of multiple cores...
without the programmer having to struggle with the
intricacies of multitasking!
FBP involves a significant "paradigm shift" from
conventional programming, as it uses an "assembly line"
image of data processing, which really has to be used to
experience its advantages. 
11.Constraint: Programming by specifying a set of constraints. An engine
finds the values that meet the constraints.

12. onstraint Programming (CP) has proven to be a very successful technique for reasoning
about assignment problems, as evidenced by the many applications described elsewhere
in this book. Much of its success is due to the simple and elegant underlying formulation:
describe the world in terms of decision variables that must be assigned values, place clear
and explicit restrictions on the values that may be assigned simultaneously, and then find
a set of assignments to all the variables that obeys those restrictions. Thus, CP makes two
assumptions about the problems it tackles:
13. 1.

14. There is no uncertainty in the problem definition: each problem has a crisp and complete
description.
15. 2.

16. Problems are not dynamic: they do not change between the initial description and
the final execution of the solution.
17. View chapterPurchase book
Constraint programming (CP) is a paradigm for solving combinatorial
problems that draws on a wide range of techniques from artificial
intelligence, computer science, and operations research.
In constraint programming, users declaratively state
the constraints on the feasible solutions for a set of decision variables.

18.Array: Programming with powerful array operators that usually make loops
unnecessary.
19. Array programming is a high-level programming paradigm which generalizes certain
operations so that they can be applied to arrays of values at once instead of individual
values one at a time.
20. The paradigm assumes that the elements of the array possess similar properties and are
processed in a similar way each time the operation is applied to the array. Therefore the
array processing can be implemented in the language itself, allowing the programmer to
manipulate an array as a whole.
21. The natural examples of generalized operations are vector and matrix operations: dot
and cross products, matrix multiplication and invertion, etc. Some languages don’t use
array programming as a paradigm but still provide additional libraries of generalized
operations for arrays manipulations or tools of implementing such operations.
22. Array programming is the opposite of scalar programming.
23. n computer science, array programming refers to solutions which allow the
application of operations to an entire set of values at once. Such solutions are
commonly used in scientific and engineering settings.
24. Modern programming languages that support array programming (also known
as vector or multidimensional languages) have been engineered specifically to
generalize operations on scalars to apply transparently to vectors, matrices, and
higher-dimensional arrays. These include APL, J, Fortran 90,
Mata, MATLAB, Analytica, TK Solver (as lists), Octave, R, Cilk Plus, Julia, Perl
Data Language (PDL), and the NumPy extension to Python. In these languages,
an operation that operates on entire arrays can be called a vectorized operation,
[1]
 regardless of whether it is executed on a vector processor (which implements
vector instructions) or not. Array programming primitives concisely express broad
ideas about data manipulation. The level of concision can be dramatic in certain
cases: it is not uncommon to find array programming language one-liners that
require several pages of object-oriented code.

You might also like