Softpanorama

May the source be with you, but remember the KISS principle ;-)
Home Switchboard Unix Administration Red Hat TCP/IP Networks Neoliberalism Toxic Managers
(slightly skeptical) Educational society promoting "Back to basics" movement against IT overcomplexity and  bastardization of classic Unix

Lavrov. Geometric analogies in programming

Softpanorama 1990, vol 2, No. 3

"Знание-сила" 1/84

Программирование в разных измерениях

Сейчас   уже   мало   кто   занимается   просто  программированием.  Программируют системно, структурно,  структурированно и еще  по-всякому. Модно говорить о программировании геометрическим языком.

ПРОГРАММИРОВАНИЕ СВЕРХУ ВНИЗ. Берем задачу. Если у нас уже есть для  нее программа, то все  в порядке. Если  нет, разбиваем ее  на подзадачи и  с каждой из них поступаем точно так же. Когда в конце концов добираемся до таких  маленьких  подпод...подзадач,  что  с  ними уже делать нечего, то
случается одно из двух: либо мы уже забыли, а какую же задачу надо  было решить, либо  обнаруживаем, что  на не  так выделили  подзадачи на самом первом этапе и все надо начинать сначала.

ПРОГРАММИРОВАНИЕ СНИЗУ  ВВЕРХ. Каждая  машина, если  она работает, умеет что-то делать. Мы  начинаем учить ее  делать все более  сложные вещи. Со временем оказывается, что наша машина умеет делать все, не умеет  только решать ту задачу, которую нам нужно решить.

ПРОГРАММИРОВАНИЕ  ВШИРЬ.   У  нас   есть  какой-то   круг  потребностей. Ограничивая себя во  всем, мы сужаем  этот круг до  предела и пишем  для него узкую-узкую программу. Потом мы начинаем расширять эту программу  и удовлетворять  все  большее  число  своих потребностей. Предостережение: будьте осторожны - как бы все не лопнуло.

ПРОГРАММИРОВАНИЕ  "ВУЗЬ".  Сначала  пишется  грандиозная   спецификация, предусматривающая   максимальное   удовлетворение   потребностей    всех потенциальных  пользователей.  Потом  мы  пытаемся  написать  программу, удовлетворяющую этой  спецификации. Когда  программа начинает  работать, наши силы уже  на исходе. Мы  выясняем, что она  умеет делать, описываем это и назывем нашу программу первой версией системы. Большего от нас уже никто не ждет.

                              С. Лавров, чл.-корр. АН СССР