FUNDAMENATAL PRINPLES and concept of computing Flashcards
A computing paradigm is a fundamental
approach to programming and problem-
solving, defining how software is designedand implemented.
COMPUTING PARADIGM
Focuses on describing how a program operates with explicit instructions.
IMPERATIVE PROGRAMMING
- Features: Uses control structures like loops (for, while),conditionals (if, else), and sequences to create clear,readable code.
- Benefits: Reduces complexity, improves clarity, andminimizes errors.
Structured Programming
- Features: Breaks down tasks into procedures or functions,which encapsulate specific operations.
- Benefits: Promotes code reuse, modularity, and easy maintenance.
- Examples: C functions, Pascal procedures.
Procedural Programming
Focuses on describing how a program operates with explicit instructions.
IMPERATIVE PROGRAMMING
- Features: Divides programs into separate modules orcomponents, each handling a specific aspect of theapplication.
- Benefits: Enhances maintainability, facilitates debugging, andallows independent module development.
- Examples: Modula-2, Ada packages.
Modular Programming
- Features: Organizes software around objects that combinedata (attributes) and behavior (methods).
- Core Concepts:
- Encapsulation: Bundling data with methods that operateon that data.
- Inheritance: Creating new classes from existing ones topromote code reuse.
- Polymorphism: Allowing objects to be treated as instancesof their parent class.
- Examples: Java classes, C++ objects, Python inheritance.
D. Object-Oriented Programming (OOP)
Specifies what the program should achieve without dictating howto accomplish it.
A. Functional Programming
* Features: Treats computation as the evaluation of mathematicalfunctions, avoiding state changes and mutable data.
* Benefits: Enhances predictability, facilitates parallelism, andimproves code reliability.
* Examples: Haskell, Lisp functions, Scala.
DECLARATIVE PROGRAMMING
Features: Uses facts, rules, and queries to derive conclusions,focusing on problem-solving through logical inference.
* Benefits: Simplifies complex problem-solving, especially in AIand knowledge representation.
* Examples: Prolog rules and queries.
Logic Programming
Features: Specialized languages tailored for specificapplication areas, simplifying tasks in those domains.
* Benefits: Increased productivity and expressiveness inspecialized fields.
* Examples: SQL for database queries, HTML for web layout.
. Domain-Specific Languages (DSLs)
eatures: Executes multiple processes in parallel, using multipleprocessors or cores to solve large-scale problems efficiently.
* Benefits: Reduces execution time for computationally intensivetasks.
* Examples: Supercomputers, GPU computing.
Parallel Computing
Features: Distributes tasks across multiple networkedcomputers, allowing for resource sharing and scalability.
* Benefits: Enables handling large datasets and complexcomputations by leveraging distributed resources.
* Examples: Hadoop clusters, cloud computing platforms.
Distributed Computing
Program behavior is determined by events such as user actions,sensor outputs, or messages.
* Features: Utilizes event loops and handlers to manageasynchronous tasks efficiently.
* Benefits: Ideal for creating responsive user interfaces andreal-time systems.
* Examples: JavaScript (Node.js), GUI applications withevent listeners.
EVENT-DRIVEN PROGRAMMING
computing model is a specific framework or
architecture used to implement and organizecomputations,
detailing
how
different
components interact to process data andexecute tasks.
COMPUTING MODEL
Employs quantum mechanics principles to perform calculations,offering potential for massive parallelism and complex problem-solving.
QUANTUM COMPUTING