По прогнозам одного из “кодоголиков”, будет меньше хаоса и больше сотрудничества

Каким станет мир программирования через 20 лет? На эту тему недавно высказался “кодоголик” — как он сам себя называет — Дэвид Интерсаймон, занимающий пост вице-президента по отношениям с разработчиками и главный идеолог CodeGear, подразделения фирмы Borland Software. В докладе под названием “Программный инжиниринг в 2027 году” он поделился своим видением новых тенденций, которые обещают принести плоды через два десятилетия. Особое внимание при этом он уделил виртуальным командам программистов и инфраструктурам совместной работы.

Прогнозы Дэвида Интерсаймона прозвучали на конференции EclipseWorld 7 ноября 2007 г.

Вот только, как заявил докладчик, чтобы попасть в программистскую нирвану 2027 г., разработчикам придется преодолеть немало трудностей нынешнего дня. В число существующих сегодня проблем он включил разрозненность систем и команд, отсутствие интеграции между ними, а также острую нехватку связной стратегии повторного использования ПО.

Предложил Дэвид Интерсаймон и новый подход к созданию приложений, который заключается в “реализации замыслов разработчика посредством фабрики приложений”. Такие фабрики, по его словам, способствуют “прикладной разработке”, при которой “структура, развитие и логика создания приложения становятся составными частями самого приложения”. Этими компонентами, как и приложением в целом, программисты смогут обмениваться со своими коллегами так же, как и другими программными ресурсами многократного пользования. Более того, подобные ресурсы не будут привязаны к какой-то конкретной платформе, окажутся полностью независимыми от инфраструктур и выходящими далеко за рамки Java и Eclipse.

По существу, как признался сам Дэвид Интерсаймон, он продвигает способ аннотирования и построения шаблонов или своего рода шпаргалок, соответствующих архитектуре приложений. Это не только улучшит сопровождение приложений, но и позволит их разработчикам при создании новых программных продуктов опираться на шаблоны, шпаргалки и другие программные ресурсы многократного использования, что значительно облегчит решение основной задачи. На такой “фабрике приложений” разработчики получат в свое распоряжение готовые образцы, смогут копировать процессы и способы создания программных продуктов, а затем строить прикладные модули, которые станут “новыми первоклассными гражданами” в процессе разработки приложений на базе этих ресурсов.

Типовой процесс здесь, по мнению Дэвида Интерсаймона, будет выглядеть примерно так. Прежде всего разработчик предлагает общую концепцию нового продукта, используя для этого метаданные “фабрики приложений”. На следующем этапе он запускает скрипт создания шаблонов или генерации процесса создания ПО. Когда это сделано, можно будет перейти к решающей фазе и привести в требуемое состояние все внесенные скриптом изменения. При этом разработчик анализирует каждое такое изменение и причину, побудившую это сделать, при необходимости редактирует его и ставит метку, а затем переходит к строке скрипта, которая внесла данное изменение, и, если требуется, корректирует ее. Теперь ему остается только подтвердить внесение изменений и при необходимости повторить процесс. Как рассказал Дэвид Интерсаймон, такая методика уже применяется в подразделении CodeGear при разработке новой версии JBuilder, где предполагается реализовать ряд возможностей “фабрики приложений”.

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

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

Более того, он предсказывает, что в грядущем мире программирования станут возможными ситуации, когда организация сможет купить полчаса времени высококлассного специалиста по EJB (Enterprise Java Beans), чтобы закончить работу к субботнему вечеру.

А вот браузерные и интернет-приложения, считает Дэвид Интерсаймон, в будущем станут восприниматься как наследие прошлого. Их место займут технологии наподобие Google Gears, позволяющие работать с Web-приложениями в автономном режиме. По его мнению, именно они “принесут на настольные системы и устройства всё богатство возможностей Интернета”.