Короткое пояснение. Первый выпуск (или его
повтор для части аудитории) и сразу второй выпуск.
Сначала буквально два слова. Мы переехали на другой сайт, и
соответственно поменялись все почтовые адреса. Все координаты в нижней части
рассылки.
Почему делается повтор выпуска. Мы объединили рассылки т.к.
условия Subscribe не позволяют выпускать идентичные
выпуски в разных рассылках. Те, кто был подписан ранее на рассылку «Кубики для
взрослых» уже получали первый выпуск. У них я прошу прощение за маленькое
неудобство. Для всех остальных это будет совершенно новая серия выпусков.
Если кто-то подписан на другую рассылку (Конструируем
информационную систему), которая доступна на нашем сайте, то должен сразу
сказать, что информация будет полностью повторяться и там.
С уважением, Михаил Баранов
Часть 3. Выпуск 1.
Кто не спрятался, я - не виноват.
Держался, сколько мог…
Дальше молчать нет ни сил, ни возможности.
Сегодня может быть последний день, когда всем тем, кто
интересуется темой разработки информационных систем еще не поздно сохранить свое
спокойствие и остаться при своем мнении о том, как это можно делать.
Хотя, может быть уже и поздно.
Итак, если вы хотите и дальше разрабатывать, проектировать
и развивать системы теми способами, которые всем известны, то вам просто
необходимо срочно отписаться от этой рассылки. Не откладывайте ни в коем случае.
Пока вы думаете, я скажу следующее. Есть единственная вещь
на свете, с которой спорить невозможно – факты. Их можно не замечать, их
можно отрицать, их можно опровергать. Но если то, о чем идет разговор, лежит у
каждого перед глазами, то все попытки отрицать очевидное – это путь к
саморазрушению.
Я собираюсь в этой рассылке привести вас к тому столу, на
котором лежат несколько неоспоримых фактов. Эти факты показывают что то, как
сегодня разрабатываются информационные системы – это совершенно непродуктивная
трата денег и времени. Я просто хочу уберечь психику, той армии программистов,
которая давно и успешно трудится. Действительно, страшно в какой-то момент
понять что то, чем ты долгое время занимался (и даже достиг определенных
успехов), в принципе не очень-то и нужно. Меняться трудно, даже очень, но то,
что не развивается – умирает.
Начинаем.
О классе информационных систем.
Я буду говорить об очень широком, но все же ограниченном
классе информационных систем, которые нацелены на сбор, хранение, обработку и
представление данных. Мы будем рассматривать только системы, построенные на
основе баз данных. Типичными представителями этого класса являются системы
управленческого учета, управление контактами и т.п.
Я не хочу вас сегодня сильно напрягать. Но очень прошу
подумать над следующей задачей, которая предложена в книге «Этюды для
программистов». Сегодня утром мне в голову пришла мысль, что именно решением
этой задачи, в широком смысле слова, я занимаюсь уже последние лет пять. Т.е.
если у вас получится решить ее, то есть шанс, что вы сможете понять меня, не
смотря на воспитанный нашими учебными заведениями всеобщий идиотизм.
Если честно, то я сильно сомневаюсь, что вы читаете
рассылки для того, чтобы что-то понять или узнать, а уж тем более чтобы хоть
чуть-чуть измениться. Вы делаете это просто от лени, от глупости, оттого, что
вам некуда девать свое бесполезное время.
Докажите обратное, попробуйте решить эту задачу, и я
с удовольствием возьму свои слова обратно.
Или скорее отпишитесь от этой рассылки. Потому что уже в
следующем выпуске я буду подводить итоги, покажу насколько это просто, и
чего многие из вас стоят на самом деле.
Условие задачи.
Почти дословно по книге:
«Тема. Напишите программу, печатающую копию собственного
исходного текста. Результат не должен содержать информации, зависящей от
выбранного языка реализации. Программа не должна использовать никаких входных
данных (файлов, баз данных и т.п.).
Указание исполнителю. Не поддавайтесь отчаянию и страху,
даже если тринадцатая попытка оказалась неудачной! Подобные программы называются
интроспективными, и существует теорема, в которой утверждается, что
интроспективную программу можно написать на любом «достаточно мощном» языке. Все
обычные языки программирования -достаточно мощные. Для решения требуется лишь
взглянуть на язык под соответствующим углом зрения (только не пытайтесь
использовать зеркало). Программа, вероятно, займет 30-40 строк.
Длительность исполнения. Одному исполнителю на одну неделю.
Выпуск 2. Свободу интеллектуальным станкам
Давайте будем честны друг с другом. И честно себе
признаемся, что такое программное обеспечение.
Мне думается, что это способ сделать из компьютера
более производительный станок. Или кто-то не согласен? Что кто-то шедевры
делает?
Идеальная ситуация, если компьютер этот еще и работает сам
по себе, ну без человека, но такое счастье выпадает редко.
Можно я вопрос задам…. Кто-нибудь видел станки ручной
сборки?
А, значит видели… И в какой, простите, области эти станки
работают? А, сверхточная механика… уникальное производство… ну да, согласен,
согласен.
А сколько таких станков по сравнению с серийным
производством? Пол процента, или она десятая?
Так какого же хрена вы все свои программы точите вручную?
Перестаньте думать, как «специалисты» в самом плохом смысле это слова.
Неужели непонятно, что если ты сидишь 10 лет за компом и 10
лет делаешь одно и тоже, а еще 9 лет из них «учишь молодых, как вот это самое
делать», то все кранты. Ты в таком тупике, из которого выхода уже нет. Да,
твоя производительность за это время выросла ну раза в три. Ты знаешь все… У
тебя исходников три сидюка. Два из них уже точно никогда не пригодятся. Ты
устал, тебе все осточертело и перспектива только одна - Стать начальником всего
этого муравейника.
Или есть все-таки другой выход?
Нет, я прекрасно понимаю, что десять лет в школе и еще пара
институтов привела нас в состояние полной умственной импотенции. И ничего, кроме
того, что строго необходимо, нам уже сделать, просто не удается. Просто потому,
что так никто не делает, и это в хелпе не написано, а думать уже не могём.
Но вы задумайтесь сами-то. Если мы собираем, то, что уже
кем-то задумано. Из кирпичей, которые кем-то придуманы и изготовлены, то мы
кто? Творческие работники? Ой, что-то я сильно сомневаюсь.
Мы гораздо больше похоже на маленькие такие станочки, на
огромном таком конвейере.
У меня есть предложение подкупающее своей новизной. А
давайте всю эту систему обманем.
Если мы просто «интеллектуальные станки», и программное
обеспечение тоже по сути своей интеллектуальный станок, то давайте подсунем
вместо людей «интеллектуальные станки». А сами будем уже не станками, но хотя
бы их операторами.