![]() If we consider the first lines as instructions for getting to grandfather's house, we might write them down like this:īut what if the river is frozen? What if the woods are on fire? These instructions aren't very flexible for the changing circumstances! Instead we could place signposts along the way, pointing to the next signpost. Consider a very old children's rhyme from the 1800s by Lydia Maria Child: Over the river, and through the wood, It allows us to change parts of the procedure without changing the original plan. Indirection is about adding intermediate steps to the procedure. Or the manager might simply substitute step #4 with indirection:Ĭhanging Paths Indirection, simply explained by Geek & Poke The manager might make several sets of chore lists. the manager wants you to take out the trash, and another worker to clean the bathrooms. It is a small restaurant with few workers. Perhaps you work in a small restaurant, and you are given this schedule of chores. Either way, this is an example of indirection-rather than give you an answer directly, you were told to go ask someone else. When you were a child, you might have gone to your father and asked, Dad, may I stay late at the beach today? He might have responded, Go ask your mother! Every family is different perhaps your mother sometimes told you to go ask your father. If there is a direct connection between two things, indirection means that something is placed in the middle so that another level of indirection is created. What is indirection? Quite simply it means not direct. Without understanding indirection, your ability to write computer programs with any complexity or utility will be extremely limited. It is so important that a famous computer scientist named David Wheeler (as recounted by Butler Lampson, who envisioned the personal computer) once said that all problems in computer science can be solved by another level of indirection. #ANOTHER LAYER OF INDIRECTION SOFTWARE#One of the most important concepts in computer science is that of indirection, permeating all areas of software development. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |