Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Level of Indirection solves every Problem

What does the quote "Level of Indirection solves every Problem" mean in Computer Science?

like image 826
Vicky Avatar asked Nov 13 '08 22:11

Vicky


People also ask

What is a level of indirection?

"Indirection" is using something that uses something else, in its broadest sense. So your example, using a pointer of a value instead of the value, fits this definition at one level. The pointer is the something and the value is the something else.

What is indirection in database?

Indirection allows you to retrieve objects from the database as needed. With indirection turned off, when an object is retrieved from the database all the other objects that it references are also retrieved. With indirection turned on, each object is retrieved from the database only when asked for.

What is indirection in computing?

In computer programming, indirection (also called dereferencing) is the ability to reference something using a name, reference, or container instead of the value itself. The most common form of indirection is the act of manipulating a value through its memory address.

What is indirection OOP?

Indirection is one of the most useful (and simple) techniques in a software engineer's arsenal. It is a powerful technique for decoupling software units by introducing a layer between two existing units/layers, enabling the introduction of new behaviour, without directly impairing the existing units.


1 Answers

Generally it means that by increasing the level of abstraction one can make the problem easier to understand/resolve.

Be careful with your abstractions though, the full quote at least as I heard it is, "You can solve every problem with another level of indirection, except for the problem of too many levels of indirection".

like image 53
user6288 Avatar answered Sep 28 '22 01:09

user6288