По словам главного гуру по программированию компании Microsoft, компания работает над технологией программирования, которая, как полагают, революционизирует программирование и характер использования языков программирования.
На конференции "Future of Software", состоявшейся в Университете Нью-Кастла, Чарльз Симони, старший специалист по архитектуре отделения Advanced Technology компании Microsoft (Редмонд, шт. Вашингтон), сообщил, что разработка нового языка программирования практически прекращена не в результате недостатка новых идей, а вследствие прагматического соображения, что существование множества уже разработанных программ должно перевесить любые преимущества, которых можно обоснованно ожидать от новых языков программирования.
Симони сообщил, что компания Microsoft работает над проблемой Intentional Programming (Программирование Намерений) или IP. IP напоминает объектно-ориентированное программирование, которое основано на построении хранилища для повторно используемых компонентов. Однако, по его словам, разработчики пошли дальше и имеют возможность сочетать в одной и той же системе объектные и необъектные подходы.
Новая разработка, как уверяет Симони, не соревнуется с объектно-ориентированным программированием, а представляет собой более высокий уровень в иерархии абстракций. Объектная ориентация - специфическая особенность языка, которая стала доступной недавно и обещает множество новых возможностей.
По мнению Симони, эта потенциально революционная технология будет использоваться крупными производителями программных продуктов и выйдет на рынок до 2000 года.
С помощью IP-технологии разработчики смогут смешивать и сочетать возможности языков программирования и смогут избежать необходимости переписывать код для уже имеющихся критически важных приложений.
Программисты для получения необходимых возможностей смогут приобретать только специально отобранные компоненты, а не весь пакет. Симони заверил: "Вы просто сможете прийти в магазин компонентов и выбрать то, что вам необходимо, так же, как вы поступали с аппаратными средствами. Это было мечтой в течение многих лет".
IP может адаптировать код традиционных языков и поэтому не требует полного переписывания системы. Старый код может быть прочитан в IP при использовании специфических для языка программ синтаксического анализа, которые преобразуют его в узлы IP.
Компания Microsoft уже построила библиотеку IP, состоящую из 1,7 млн. элементов включающих намерения (intentions) или примеры намерений. С марта текущего года многие разработки в самой Microsoft выполняются с помощью IP.
В планы Microsoft входит создание компонентов или намерений, библиотек, поддержка существующих языков и широкое использование этой технологии в пределах компании. Затем планируется приступить к продаже подготовленного таким образом законченного продукта.
Напомнив, что любой язык программирования имеет фиксированный набор синтаксических и семантических правил, который будет заменен (так же как старые специализированные текстовые процессоры были вытеснены персональными компьютерами), Симони объяснил, что возможности существующих или будущих языков программирования могут быть выражены как намерения, что позволит им сосуществовать.
Он предсказывает, что судьба компьютерных языков будет аналогична судьбе специализированных текстовых процессоров начала семидесятых годов, уступившим пальму первенства персональным компьютерам общего назначения. По мнению Симони, IP в этом контексте играет роль персонального компьютера и поддерживает множество непрерывно развивающихся библиотек намерений (intentions).
Смелое решение
Компания Microsoft c технологией программирования IP ушла так далеко, что вполне уместным стала демонстрация ее на недавно состоявшейся конференции Future of Software ("Будущее программного обеспечения"), проведенной Чарльзом Симони. Основным элементом этой технологии является намерение (intention), которое определяет вид, семантику и поведение некоторой абстракции. "Это может выражаться просто, например: "Я намерен сложить два числа и запомнить их", - сказал Симони.
Симони продемонстрировал, как IP может поддерживать вклады нескольких программистов, работающих в команде, или каким образом эти вклады могут быть загружены из библиотеки намерений. Вклады организованы в древовидную структуру.
Программисты работают с IP через графический интерфейс пользователя, который отображает дерево источников - IP Source Tree, и позволяет немедленно отредактировать его на экране. "Намерение" программиста превращается в особый узел дерева источников. Узлы могут содержать указатели на другие части программы. Программисты могут создавать указатели между узлами с помощью изображения линий на экране.
Брайан Рэнделл, профессор Университета Нью-Кастла, который организовал конференцию, сказал: "Это было очень интригующе, я не могу утверждать, что понял все, но демонстрация была впечатляющей".
Кондон - лондонский корреспондент IDG News Service