Статьи

Об исторической роли суперпрограммирования

в рубрике Peopleware, Методологии, Технологии

Намедни удалось посмотреть 2 лекции одного из создателей STL Александра Степанова. Ощущения описывать не буду, иначе не хватит запаса слов в превосходной степени. Множество важных идей изложены простым и понятным языком - это многого стоит! Но вот одна фраза как-то по-особенному запала мне в душу.

Это, конечно, очень нехорошо, выдергивать цитаты из контекста, но я все-же совершу это святотатство. Вот она:

“Не нужно использовать более общий алгоритм, когда есть специальный более быстрый алгоритм”

Логично. Просто. Банально. Почти аксиома. Ну если немного подумать - ну точно аксиома. Хорошо подумали? Точно? Ок, я вас за извилины не тянул.

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

Инд=1;
~М1:Если Инд>ТЗ.КоличествоСтрок() Тогда Перейти ~М2; КонецЕсли;
<Тело цикла>
Инд=Инд+1;
Перейти ~М1;
~М2:

Кто не помнит, этот стиль звался суперпрограммированием, а его апологеты, в свое время, уличались в ереси и принуждались к аутодафе. А вот теперь позвольте контрольный вопрос в голову: не эта ли структура будет являться наиболее быстрой при реализации на машине фон-Неймана? И ведь заметьте, оптимизации не нужно!

Что же за этим последует? А следует то, что функциональное, логическое, структурное, объектно-ориентированное, агентное, контрактное и т.д. стили программирования, а также все языки, на которых реализованы эти стили, а также различные практики программирования, и всякие методологии управления всякими разными аспектами производства ПО  и прочая, прочая, прочая существуют только для того, чтобы более или менее удобно писать, переписывать и сопровождать вот такой вот код, и, самое главное - зарабатывать на этом деньги.

Парадокс? Никак нет.  Я, признаться, изрядно жульничаю. Привел коротенький и простенький код, а выводы делаю самой широкой обобщенности. Короче, нехорошо поступаю.  Но вот что мне кажется действительно важным, так это  понимать откуда есть пошло программирование, и примерно куда есть приведет компилятор Ваш грамотный, корректный и эффективный код.

VN:R_U [1.9.5_1105]
Rating: 0 (from 0 votes)

Один комментарий на “Об исторической роли суперпрограммирования”

  1. upd для тех, кто видел видео:
    Используйте Go To!
    Кнута, Евклида - читать!

    VN:R_U [1.9.5_1105]
    Rating: 0 (from 0 votes)

Прокомментировать

Вы должны быть авторизованы для комментирования.

Партнеры

Microsoft ITONLINE Group ScrimTrek IT Trainings

© Careerlab, ITONLINE GROUP 2012 Команда Software People

+7 (495) 933-01-33

team@softwarepeople.ru