Дефрагментация мозга. Софтостроение изнутри
Шрифт:
Когда Молодые Парни сделали Вторую Систему, их, как вы догадались, снова стали нагружать внесением в нее новых функций. Вначале парням удавалось вносить изменения так быстро, что оставалось время на несколько чашек кофе в день. И тогда их стали напрягать больше. Теперь Молодые Парни настолько были загружены, что у них опять едва хватало времени на чашку кофе и сигарету. Кроме того, они тоже состарились за работой и стали Старыми Чудаками.
Во время пития одной из чашек кофе у Старых Чудаков возникла мысль о том, что хорошо бы приблизить составление программы к написанию текста на человеческом языке. На Языке Высокого Уровня (ЯВУ). Но
Молодые Парни поднатужились и составили Транслятор с языка, похожего на математическую запись формул. Его так и назвали: Фортран – ФОРмуло-ТРАНслятор. Вооружённые Фортраном, Молодые Парни сделали Третью Систему. Но не успели они, быстренько добавив в Систему новые функции, сесть за кофе и партию в преферанс, покуривая в форточку подсобки, как их снова сильно напрягли. И снова стали они Старыми Чудаками. Да, чуть не забыл: в соседней комнате другие Молодые Парни и Девушка создали другой Транслятор, КОБОЛ – Как бы Описания Бизнес-правил… Ой, ладно. Они тоже делали Третью Систему, но с другого боку.
Надо сказать, что Старые Чудаки с Фортраном придумали такую вещь, как типы переменных по умолчанию. И все переменные, начинающиеся на i, j, k, l, m и n Транслятор считал целочисленными. С той поры все Новые Молодые Парни в своих Новых Системах используют эти переменные в циклах, особо не задумываясь об их происхождении.
Третья Система оказалась такой живучей, что до сих пор можно увидеть объявления о поиске ну-Очень-Старых-Чудаков для внесения в нее изменений.
Очередные Молодые Парни стали кривить лица и указывать на сложность ЯВУ и несовершенство Трансляторов. Покривившись, они приступили к созданию более простых, ясных и надёжных ЯВУ, как им тогда казалось. Четвертую Систему парни начинали делать на C, а прикладную часть к ней – на Паскале. А сделав, как водится, превратились в Старых Чудаков. Причём одни Старые Чудаки так и остались на C, а другие потом решили добавить к названию два плюса. Третьи, поэкспериментировав с приставками «Турбо», вообще изменили название в пользу Дельфийского Оракула.
Следует вспомнить, что Один Умный Старый Чудак из Швейцарии потом продолжил создавать Следующие Системы. Но его упорно не замечали. И не потому, что его Системы были плохи. А потому, что все были по горло заняты внесением новых функций в Четвертую Систему.
Народу, вносящего изменения, все прибывало. Началось Вавилонское столпотворение ЯВУ и Подходов к Проектированию Программ. Каждый Молодой Парень считал свой ЯВУ лучшим, а Подход – единственно правильным. Но, сделав свою собственную Четвертую Систему, каждый парень становился очередным Старым Чудаком и неизбежно погрязал в добавлении в нее новых функций.
Наконец, Большие Дяди сказали себе, что пора бы навести Как бы Порядок в этом Творческом Бардаке. И стали вкладывать много денег для создания Единственно Правильной Четвертой-с-половиной Системы. Она не должна была зависеть от типа ЭВМ: единожды написанная на ЯВУ программа могла бы работать на любой другой ЭВМ. А чтобы новые Молодые Парни не создавали хаос, Большие Дяди создали свой Стандарт на ЯВУ и всё, что вокруг. На практике же оказалось, что однажды написанная программа должна быть отлажена везде, где её планируют запускать. Ну а чтобы другим парням и чудакам
было не обидно заниматься отладкой и без передышки вносить в Четвертую-с-половиной Систему изменения, назвали её просто «Кофе».Когда Большие Дяди стали поднимать Большие Деньги на своей Четвертой-с-половиной Системе, то Другие Большие Дяди решили, что они не хуже. И тоже сделали Четвертую-с-половиной Систему. Но, поскольку название «Кофе» оказалось занято, а «Сигарета» явно не соответствовала маркетинговым концепциям, её назвали так, чтобы все были бы внутренне горды от одного только чувства того, что работают они с Великой Четвертой-с-половиной-и-ещё-Точка Системой.
Внесение изменений в Четвертые-с-половиной Системы стало занятием столь же скучным, как и предыдущие. Поэтому, чтобы Молодые Парни не чувствовали себя, по крайней мере сразу же, такими же Старыми Чудаками, им разрешили обзывать всех вносящих изменения в Четвертую (ту, что без половины, а тем паче в Третью) Систему Старыми-Чудаками-на-Одну-Букву.
И вот одни Старые Чудаки добавляют функции в Четвертую, Третью и даже Вторую Системы. Другие – в Четвертые-с-половиной Системы. А в перерывах на форумах и в блогах последние обзывают первых Одной Буквой.
Но, поскольку форумы и блоги открыты, за процессом наблюдают Самые Молодые Парни. И, видя это, им всё меньше хочется делать Пятую Систему. Во-
первых, надо «учиться, учиться и ещё раз учиться» и отнюдь не на трёхмесячных курсах, а во-вторых, застолбившие рынок Большие Дяди не собираются его ни с кем делить. Но и становиться Старыми Чудаками при Четвертой-с-половиной Системе, минуя стадию Молодых Парней, им тоже не особо хочется.
И тогда все хором – от Старых Чудаков Первой Системы до Самых Молодых Парней – сказали: в нашей отрасли кризис! А Старые Чудаки добавляют: застой, и света в конце тоннеля не видно. Рядом с ними Маргинальные Чудаки с искусственным интеллектом под мышкой, специализированными ЯВУ и ЭВМ, суперкомпьютерами, векторными вычислениями и прочей экзотикой стоят в сторонке от мейнстрима и посмеиваются над ловкостью, с которой им удалось обмануть всех, включая самих себя.
Литература
1. Брукс Ф. , Мифический человеко-месяц или как создаются программные системы. СПб.: Символ-Плюс, 2001. 304 с.
2. Фокс Дж. , Программное обеспечение и его разработка. М.: Мир, 1985. 368 с.
3. Бир Ст. , Кибернетика и менеджмент. М.: КомКнига, 2006. 280 с.
4. Nicolas Karr , The Big Switch: Rewiring the World from Edison to Google. W. W. Norton & Company, 2008.
5. Васкевич Д. , Стратегии клиент/сервер. Киев: Диалектика, 1996.
6. Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. , Приемы объектно-ориентированного проектирования. Паттерны проектирования. СПб.: Питер, 2007. 366 с.
7. Гладких Б. А. По волне моей памяти // Вестник Томского гос. ун-та, 2002. № 275. С. 249–258.
8. Тарасов С. , Обзор средств объектно-реляционной проекции (ORM) для платформы. NET, ZDNet.ru, октябрь 2005. Текст доступен по ссылке http://arbinada.com/main/node/33
9. Тарасов С. , Разработка ядра информационной системы // Мир ПК. 2007. № 7.