stack



Предыдущая | Следующая

stack (стек; доел, стог, куча), сущ. Стеком конкретного человека называют список дел, которые ему надлежит сделатьз будущем, поэтому о проекте, за который придется браться сразу же, как только будет закончена текущая работа, говорят, что он находится в верхней точке стека. «Извини, но шеф дал мне новую работу, поэтому твою задачу мне придется отложить в стек и заняться ею позже.» «Я до сих пор не сделал этого, потому что стоит мне закончить одно дело, как тут же из'моего стека вываливаются все новые и новые дела, требующие безотлагательного выполнения.» Если в процессе обсуждения вас неоднократно перебивали, фраза «Мой стек переполнен» будет означать «Я забыл, о чем мы говорили». При этом подразумевается, что каждый раз при смене темы приходилось прятать в стек контекст текущей темы, чтобы впоследствии его можно было восстановить, и что, по крайней мере, последняя тема была утеряна. Пример действия настоящего, или «физического» стека можно наблюдать в любом кафетерии: груда тарелок или подносов лежит в раковине с пружиной на дне, поэтому стоит положить сверху еще один поднос, и вся груда немного опускается вниз, а если взять поднос сверху, давление уменьшается и все остальные подносы слегка приподнимаются вверх. См. также push и pop.Этим термином пользуются многие хакеры, хотя в MIT в этом случае обычно говорят «pdl» (см. pdl), и вполне возможно, что это более корректный термин. Как говорит Кнут (второе издание Искусства программирования, т 1, стр. 236), «Многие из тех программистов, которые самостоятельно разбирались с работой структур типа очереди или стека, обычно дают им совсем другие названия; стек, например, часто называют: «возвращаемая память», «подвал», «гнездовой магазин», «штабель», «список – последний пришел, первый ушел... (LIFO)», и даже просто «список»!'