Abstraction (computer science)
In software engineering and computer science, abstraction is:
- Abstraction (computer science)152 related topics
Lambda calculus
Lambda calculus (also written as λ-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution.
Software architecture
Software architecture refers to the fundamental structures of a software system and the discipline of creating such structures and systems.
Macroscopic system structure: this refers to architecture as a higher-level abstraction of a software system that consists of a collection of computational components together with connectors that describe the interaction between these components.
Programming language
Any set of rules that converts strings, or graphical program elements in the case of visual programming languages, to various kinds of machine code output.
Programming languages usually contain abstractions for defining and manipulating data structures or controlling the flow of execution. The practical necessity that a programming language support adequate abstractions is expressed by the abstraction principle. This principle is sometimes formulated as a recommendation to the programmer to make proper use of such abstractions.
Scripting language
Programming language for a runtime system that automates the execution of tasks that would otherwise be performed individually by a human operator.
Scripting languages typically use abstraction, a form of information hiding, to spare users the details of internal variable types, data storage, and memory management.
Object-oriented programming
Programming paradigm based on the concept of "objects", which can contain data and code: data in the form of fields (often known as attributes or properties), and code, in the form of procedures (often known as methods).
At ETH Zürich, Niklaus Wirth and his colleagues had also been investigating such topics as data abstraction and modular programming (although this had been in common use in the 1960s or earlier).
C++
General-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes".
C++ introduces object-oriented programming (OOP) features to C. It offers classes, which provide the four features commonly present in OOP (and some non-OOP) languages: abstraction, encapsulation, inheritance, and polymorphism.
Semantics (computer science)
Field concerned with the rigorous mathematical study of the meaning of programming languages.
It is also possible to relate multiple semantics through abstractions via the theory of abstract interpretation.
Abstract data type
Abstract data type is a mathematical model for data types.
The notion of abstract data types is related to the concept of data abstraction, important in object-oriented programming and design by contract methodologies for software development.
View (SQL)
Result set of a stored query on the data, which the database users can query just as they would in a persistent database collection object.
Just as a function (in programming) can provide abstraction, so can a database view.
Leaky abstraction
In software development, a leaky abstraction is an abstraction that leaks details that it is supposed to abstract away.