Каждый юзер Windows хотя бы единожды сталкивался с ситуацией, когда система требовала обновлений здесь, сейчас и никогда позже. Компьютер или ноутбук перезагружался даже если вы качаете большие важные файлы, рендерите видео или беседуете с коллегами в Skype. Или с ситуацией, когда устаревшее ПО не работает на новой машине. И если первую проблему вы можете решить сами, отключив функцию в настройках, то со второй решили побороться работники DARPA. Они хотят решить проблему несовместимости, создав программные системы, которые не требуют обновления около ста лет. Фантастика?
DARPA – это агентство по перспективным оборонным научно-исследовательским разработкам США. Если вам кажется, что идея с разработкой ПО, которое нет необходимости обновлять ближайшие лет сто даже при учете будущих аппаратных обновлений, слишком нереальна, давайте вспомним, что именно они создали Интернет. Буквально на днях агентство объявило о начале исследований, которые продлятся четыре года. В процессе программисты и ученые постараются выяснить необходимые алгоритмы для создания идеального ПО. Понятие «идеальное ПО» приблизительно означает, что программы сами будут адаптироваться к изменениям внутри системы. Но так, как эта идея настолько сложная в реализации, что пока что исследование находится на том уровне, где ученые принимают любые предложения, которые бы могли лечь в основу идеи. Самая крутая идея получит финансирование. Проект называется Building Resource Adaptive Software Systems (BRASS).
Пока что получается, что DARPA предстоит создать все это ПО с нуля. Ведь как по-другому переделать имеющийся софт, чтобы сделать его более адаптивным и умным? Нужно это самому агентству, как вы прекрасно понимаете, чтобы США всегда были на гребне волны и разрабатывается эта тема, само собой, для военных ПК в первую очередь, чтобы их никогда не надо было выключать или перезагружать для обновления. В таком случае, компьютеры не будут тратить время на обновления и обслуживание, а значит станут эффективнее. Что из этого получится и получится ли – мне очень интересно. Но вы не думаете, что это звучит немного пугающе? Я уже писала о первой цифровой форме жизни, писала о роботе, который получит личность и научится чувствовать, а теперь вот программное обеспечение, которое будет самостоятельно развиваться и подстраиваться. Они будут обладать большим сроком службы и актуальности, они будут подстраиваться под новые мощности и новое железо. Как вы думаете, у них получится?
Дело тут не в ПО. Точнее не в самих конечных приложениях.
1. всё упирается в разработку такого языка программирования и такой его экосистемы (паттерны проектирования, фреймворки, библиотеки и т.д.), которые бы не устаревали на протяжении многих десятков лет.
2. само по себе ПО, сколь бы адаптивным оно ни было, теряет свою актуальность. Морально утсаревает. Меняются задачи, требования. Добавляются новые фичи и т.д. Сама разработка конкретной версии ПО – это лишь веха жизненного цикла приложения. А не весь жизненный цикл.
Таким образом мы приходим к необходимости разработки такой среды разработки (это не тавтология), которая бы успешно развивалась на протяжении многих десятилетий, будучи при этом универсальной в своем применении. Дабы написанные десятки лет назад программы не превращались в legacy-мусор, но оставались апдейто-пригодными. И чтобы этот процесс не зависел от конкретных людей, владеющих “ископаемыми” языками, как это часто происходит сейчас. Потому разработка DARPA – это прежде всего долговременная стандартизация. Ничто иное.
Увы, в статье эти ключевые моменты обозначены не были.
Андрей Москалец, увы. Как хорошо, что комментарии Андеря Москальца не теряют свою актуальность никогда!
Возможно, это и будет процесс стандартизации – один язык на все времена и единые алгоритмы. С другой стороны, они могут пойти по иной схеме (понятия не имею как, если честно, но авось), где и язык и ПО вместе обучались бы новым задачам и приспосабливались к потребностям. Но это уже “искусственно-интелектуальное по” получается…
Юля Рябухина, все же думаю, что искусственно-интеллектуальное ПО, фактически пишущее и модифицирующее само себя на ходу (иускусственный интеллект, работающий в рамках некомпилируемого языка программирования получается) – дело очень далекого будущего. Авось наши с вами правнуки доживут. Мы же скорее всего увидим некий единый стандарт, армейский (DARPA же) аналог очередного номерного ISO. Стандарт, регламентирующий кросс-соместимость версия языка, фреймворков и библиотек. А так же общие паттерны программирования. Подобный подход очень популярен в армейской среде. В качестве примера можно привести военную авиацию. Те же Б-52 уже отметили свой 50-летний юбилей, но при помощи множества модификаций и апгрейдов до сих пор остаются в строю. Скорее всего мы столкнемся с тем же в рамках разработки софта. В первую очередь военного софта.
“чтобы их никогда не надо было выключать или перезагружать для обновления”
Вот такое вот ПО уже есть. Сегодняшние линуксовые серверы не перезагружаются при обновлениях программ, а после грядущего Linux 4.0, без перезагрузки можно будет и ядро системы обновить.
800147, вряд ли военные машины США работают на линукс… Но надо им подсказать)
Юля Рябухина, а на чём им ещё работать? Глупо отказываться от такого большого, профессионального, проверенного временем, а главное, открытого для правок куска кода. И вики ( http://en.wikipedia.org/wiki/List_of_Linux_adopters#U.S. ) подсказывает, что там у них активно используется Red Hat
Звучит как утопия, на сегодняшний день, по крайней мере.