обеспечения достигнет небывалых высот. Это обязательно случится. В разработке программного обеспечения произойдет подлинная революция.
Появятся новые языки общения пользователей с вычислительными машинами; это будут языки не такого типа, как Ада и Паскаль, но языки типа «Запрос с помощью примеров». Язык Ада чересчур сложен, и изучать его очень трудно. Пользователь с помощью некоторых приказов «заставляет» вычислительную систему добиться нужного результата — зарезервировать место, сбить ракету, проложить курс, а программист с помощью операторов языка «заставляет» систему получить рабочую программу.
Но пропасть между языками высокого уровня, используемыми при программировании, и языками пользователей быстро становится меньше. Небольшое изменение в концепциях приведет к тому, что можно будет «перехватывать» эти приказы, исходящие от пользователей, и формировать по ним рабочие программы, а не просто их «обрабатывать».
Языки будут выходить на все более высокие уровни. Пользователи станут программистами, но это слово может в дальнейшем получить несколько иной смысл, чем тот, который мы вкладываем в него сейчас.
Прогресс
Не следует удивляться тому, что разработка программного обеспечения столь трудна. Мы уже видели, что всякая разработка трудна по определению. Если бы она была прогнозируемой, она не была бы разработкой.
Снова обратимся к мостам — простым, старым, скучным мостам и вспомним, что в 1870-х г. в США падало по 40 мостов в год. Новая технология подчинялась контролю человека чрезвычайно медленно.
Программное обеспечение это не просто самое позднее из сложнейших начинаний, оно оказалось таким трудным потому, что оно «невидимо» и не может быть воспринято никакими органами чувств человека. Кроме того, оно зависит от сотен принятых решений или конструкций.
Как и все новые области, программное обеспечение страдает от взаимосвязанных проблем «семантической распущенности» и засилья любителей и шарлатанов.
За последнее десятилетие в деле разработки программного обеспечения произошел разительный прогресс. Гораздо более разительный, чем кто-либо мог предвидеть. Вступили в действие огромные системы — причем работают они хорошо и надежно. Все подверглось развитию — системное программное обеспечение, структурное программирование, языки, автоматические библиотекари, кросс-трансляторы и инструментальные комплексы. Мы сделали программирование более наглядным. Это звучит тривиально, но ведь просто жизненно необходимо, чтобы разработка программного обеспечения была управляемой и контролируемой.
Структурированные программы стали доступными для чтения. Великолепнейший сдвиг.
Библиотекари ведут учет написанных программ. Программы стали собственностью не программистов, а тех организаций, в которых они работают. Появилась возможность видеть, как работают программисты. Мы можем проводить инспектирование написанных ими программ.
Сделав программное обеспечение более наглядным, мы смогли сделать его более управляемым. Мы повысили производительность труда.
Мы стали пользоваться общими программами, входящими в операционные системы и СУБД. Передача этих программ в пользование тысячам людей сделала ненужными огромные затраты на перепрограммирование.
В нашем распоряжении появились тысячи специалистов с высшим образованием, специализирующихся в области информатики, знающие теоретические основы множества новейших методов и инструментария.
Мы видим, насколько далеко мы ушли всего за 10 последних лет.
Руководство обязано не допускать «технологического тумана». «Пойди туда, не знаю куда, принеси то, не знаю что». Частенько еще случается, что руководители дают запугать себя со стороны технических исполнителей, пользующихся длинными, но непонятными словами. Каждый должен быть заинтересован в том, чтобы выяснить значения всех слов, используемых в программном обеспечении.
Примечания
1
Брукс Ф. П. мл. Как проектируются и создаются программные комплексы. Мифический человеко-месяц. Очерки по системному программированию / Пер, с англ. — М: Наука, 1979.
(обратно)
2
«Желаю вам жить в интересное время» (англ.)
(обратно)
3
Имеется в виду воля как способность принимать решения в ходе выполнения какого-либо задания. — Прим. перев.
(обратно)
4
Автор несомненно имеет в виду состояние дел в Соединенных Штатах Америки. К 1952 году в СССР тоже уже была построена первая отечественная ЭВМ. Руководил ее разработкой академик С. А. Лебедев. — Прим. перев.
(обратно)
5
ГАЭ — Группа Активных Элементов — примерно соответствует одному разряду или триггеру.
(обратно)
--">
Последние комментарии
2 дней 11 часов назад
2 дней 23 часов назад
3 дней 17 минут назад
3 дней 11 часов назад
4 дней 5 часов назад
4 дней 19 часов назад