Abstraction (software engineering) | Wikipedia audio article
Channel: wikipedia tts
Date: 2019-01-13

This is an audio version of the Wikipedia Article:
https://en.wikipedia.org/wiki/Abstraction_(computer_science)


00:01:54 1 Rationale
00:03:56 2 Language features
00:04:05 2.1 Programming languages
00:05:54 2.2 Specification methods
00:06:31 2.3 Specification languages
00:07:03 3 Control abstraction
00:09:09 3.1 Structured programming
00:10:43 4 Data abstraction
00:12:07 5 Abstraction in object oriented programming
00:15:36 5.1 Object-oriented design
00:16:54 6 Considerations
00:19:18 7 Levels of abstraction
00:20:15 7.1 Database systems
00:21:45 7.2 Layered architecture
00:22:37 8 See also



Listening is a more natural way of learning, when compared to reading. Written language only began at around 3200 BC, but spoken language has existed long ago.

Learning by listening is a great way to:
- increases imagination and understanding
- improves your listening skills
- improves your own spoken accent
- learn while on the move
- reduce eye strain

Now learn the vast amount of general knowledge available on Wikipedia through audio (audio article). You could even learn subconsciously by playing the audio while you are sleeping! If you are planning to listen a lot, you could try using a bone conduction headphone, or a standard speaker instead of an earphone.

Listen on Google Assistant through Extra Audio:
https://assistant.google.com/services/invoke/uid/0000001a130b3f91
Other Wikipedia audio articles at:
https://www.youtube.com/results?search_query=wikipedia+tts
Upload your own Wikipedia articles through:
https://github.com/nodef/wikipedia-tts
Speaking Rate: 0.9163057430038137
Voice name: en-AU-Wavenet-D


"I cannot teach anybody anything, I can only make them think."
- Socrates


SUMMARY
=======
In software engineering and computer science, abstraction is:

the process of removing physical, spatial, or temporal details or attributes in the study of objects or systems in order to more closely attend to other details of interest; it is also very similar in nature to the process of generalization;
the abstract concept-objects which are created by keeping common features or attributes to various concrete objects or systems of study — the result of the process of abstraction.Abstraction, in general, is a fundamental concept to computer science and software development. The process of abstraction can also be referred to as modeling and is closely related to the concepts of theory and design. Models can also be considered types of abstractions per their generalization of aspects of reality.
Abstraction in computer science is also closely related to abstraction in mathematics due to their common focus on building abstractions as objects, but is also related to other notions of abstraction used in other fields such as art.
Abstractions may also refer to vehicles, features, or rules of computational systems or programming languages that carry or utilize features of or abstraction itself, such as:

the process or feature of using data types to perform data abstraction to decouple usage of from working representations of data structures within programs;
the concept of procedures, functions, or subroutines which represent a specific way of abstracting of control flow in programs;
the rules commonly named "abstraction" that generalize expressions using free and bound variables in the various versions of the lambda calculus;
the usage of S-expressions as an abstraction of data structures and programs in the Lisp programming language;
the process of reorganizing common behavior from non-abstract classes into "abstract classes" using inheritance to abstract over sub-classes as seen in the object-oriented C++ and Java programming languages.