Журнал Компьютерра - Журнал «Компьютерра» N 29 от 15 августа 2006 года

Тут можно читать онлайн Журнал Компьютерра - Журнал «Компьютерра» N 29 от 15 августа 2006 года - бесплатно полную версию книги (целиком) без сокращений. Жанр: Прочая околокомпьтерная литература. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

Журнал Компьютерра - Журнал «Компьютерра» N 29 от 15 августа 2006 года краткое содержание

Журнал «Компьютерра» N 29 от 15 августа 2006 года - описание и краткое содержание, автор Журнал Компьютерра, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Журнал «Компьютерра» N 29 от 15 августа 2006 года - читать онлайн бесплатно полную версию (весь текст целиком)

Журнал «Компьютерра» N 29 от 15 августа 2006 года - читать книгу онлайн бесплатно, автор Журнал Компьютерра
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Мы будем только рады.

МНЕНИЯ: …А серебряной пули все еще нет

Автор: Зверёк Харьковский

Из всех человеческих существ, которые сегодня являются жертвами классического китайского проклятия «Чтоб тебе жить в эпоху перемен», разработчики программного обеспечения (да и вообще люди, вынужденные иметь дело с «софтом») - самые несчастные. Здесь все может поменяться (и меняется) ежечасно, новые технологии могут родиться (и рождаются) ежедневно, и так же ежедневно вымирают и «изымаются из обращения» технологии, даже не успевшие устареть. В тот момент, когда «девелопер» прекращает самообразование, он начинает отставать от окружающего мира со скоростью консервной банки, выброшенной из окна самолета.

Причина такого печального положения дел - сильная непрозрачность индустрии софтостроения. Причем эта непрозрачность проявляется на всех уровнях: самому лучшему тимлиду [От «team lead» - глава команды разработчиков] крайне тяжело оценить скорость продвижения и качество кода отдельного модуля, который создают программисты его команды; опытнейший менеджер практически беспомощен в попытках осознать, укладывается ли в срок и соответствует ли требованиям работа различных отделов, находящихся под его началом; заказчик (если ПО разрабатывается на заказ) и предположить не может, получит ли то, что хотел; пользователь (если ПО тиражное) не имеет никаких гарантий по какому бы то ни было параметру (глючность, скорость, соответствие определенным задачам и т. д.).

Такая непрозрачность - вовсе не следствие злонамеренности «этих идиотских программистов» («этих разэдаких индусов», «этого злобного Micro$oft’a» - формулировка зависит от настроения, образования и воспитания), а является, в общем-то, фундаментальным свойством мира разработки софта [Частично эти проблемы затрагиваются в моей статье «Незваный гость на пиру воображения» («КТ» #644)]. Роль программиста не имеет точных аналогов в других профессиях (как бы кто ни пытался доказать обратное) - ни инженеры, ни изобретатели, ни писатели, ни журналисты не работают в условиях столь тесного переплетения чистого творчества, точных наук, практических «приемчиков» и сложных взаимодействий между членами команды. Впрочем, на причинах мы подробно останавливаться не станем, а рассмотрим следствия «особого положения» индустрии разработки ПО.

Основное следствие-проблема было сформулировано в 1986 Фредом Бруксом в статье «Серебряной пули нет - существенное и случайное в разработке ПО» ["No Silver Bullet - essence and accident in software Engineering, Brooks, F. P., Proceedings of the IFIP Tenth World Computing Conference, pp. 1069-1076, 1986. Возможно, проблема формулировалась и раньше, тем не менее именно статья Брукса стала классической] следующим образом: «Нет ни одного открытия ни в технологии, ни в методах управления, одно только использование которого обещало бы в течение ближайшего десятилетия на порядок повысить производительность, надежность, простоту разработки программного обеспечения». В более расширенной формулировке (из статей самого Брукса и рассуждений других видных деятелей computer science) можно утверждать, что разработка ПО (и вообще работа в софтверном окружении) всегда будет оставаться деятельностью с непредсказуемой эффективностью и неизвестным результатом. Причем Брукс был уверен (собственно, и до сих пор уверен), что «серебряная пуля» (средство сделать упомянутый процесс эффективным и предсказуемым) не только не существует, но и принципиально не может быть создана.

Однако помимо бруксовой на этот вопрос всегда существовали альтернативные точки зрения. По большому счету весь прогресс технологий разработки ПО (и вообще «софтовых» технологий) можно представить как поиск этой самой мистической серебряной пули; а то, что прогресс до сих пор не стоит на месте (и еще как не стоит!), можно считать косвенным свидетельством того, что серебряной пули как не было, так и нет.

Конечно, сегодняшнее обезсеребрянопуленное состояние совсем не то, что во времена выхода упомянутой статьи: другие масштабы задач, другое соотношение провальных и удачных проектов, другая структура «массы пользователей» и «массы разработчиков» и т. п. Тем не менее все это лишь следствие накопления опыта; опытных разработчиков стало больше, накопленных ими «практических приемчиков, которые могут сработать» - намного больше; а вот общая прозрачность системы не изменилась ни на йоту - по-прежнему практически невозможно понять, что происходит уровнем ниже или уровнем выше, отделом правее или отделом левее тебя.

А значит, продолжаем искать серебряную пулю.

Можно констатировать, что весь процесс поиска заветного боеприпаса - это попытка дать гарантированный ответ на два вопроса: будет ли достигнут результат и будет ли он корректным (приемлемым)? [Некоторые считают, что есть еще и третий вопрос: когда будет достигнут результат? Но в тех случаях, когда он действительно важен, это всего лишь подмножество первого вопроса: будет ли результат достигнут настолько быстро, что он еще будет иметь смысл?] Начиная решать любую софтверную задачу в лоб (будь то создание новой ОС или поиск нужной html-странички), мы не можем заранее знать ответа ни на один из них. А если нет никакого ответа, то нельзя и предпринять заранее меры, чтобы сделать ответ более приемлемым (например, добавить в команду программистов или докупить оборудование). То есть, даже собрав в одной команде три десятка лучших в мире специалистов по разработке ОС, нельзя предсказать, что и когда у них получится и получится ли вообще.

Во времена наивной юности компьютерных наук (лет за десять-пятнадцать-двадцать до написания статьи «No Silver Bullet») было принято считать, что все эти вопросы можно разрешить одним махом: всё должен делать компьютер. Это самое «всё» по минимуму означало автоматизированную проверку корректности (формальная верификация программ, ключевые имена - Хоар и Дийкстра), а по максимуму в идеале - пресловутый Искусственный Интеллект (ключевые имена - от Алана Тьюринга и далее - легион), где человек уже не «решает задачи с помощью компьютера», а лишь «ставит задачи», а вопросы о достижимости и корректности результата являются самоприменимыми (то есть можно поставить компьютеру задачу «определи, можно ли получить решение задачи Х»). По причинам достаточно сложным и неплохо изученным «счастья для всех и даром» не наступило, и дальнейшие поиски «silver bullet» стали концентрироваться на частных решениях. Да и по сию пору концентрируются.

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

Взять мертвую линию

["Мертвая линия", или «линия смерти» - deadline. Так буржуи называют время, к которому кровь из носу надо закончить некую задачу]

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Журнал Компьютерра читать все книги автора по порядку

Журнал Компьютерра - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Журнал «Компьютерра» N 29 от 15 августа 2006 года отзывы


Отзывы читателей о книге Журнал «Компьютерра» N 29 от 15 августа 2006 года, автор: Журнал Компьютерра. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x