Введение
В современной технике программирования имеется ряд проблем, которые могут быть устранены посредством естественно-языкового программирования в общем и Пегаса прежде всего.
Главное проблемы современных техник программирования и языков программирования:
1. Психологической проблемой является факт, что разработчик должен изменять структуру своих мыслей так, чтобы они соответствовали всемирной модели специфического языка программирования вместо того, чтобы выражать их непосредственно, что связано с большими потерями, например, уменьшением креативности предварительного осмысления в классах, свойствах и методах при производстве С# - программы.
2. Проблема языков программирования: одни и те же алгоритмы должны повторно реализовываться в новых языках программирования, хотя их собственная идея остается единой, таким образом, например, некогда в ассемблере, теперь в Яве и дфлее в новом языке.
3. Языковая проблема: разработчики вынуждены снова и снова читать примечания и документации, которые составлены не на их родном языке. Это ведет к недоразумениям, ошибкам и неэффективности работы, так как, к примеру, документирование совсем отсутствует или используются ошибочные выражения.
4. Техническая проблема: вместо того, чтобы находить пути согласования творческих решений программных идей, разработчики теряют много времени с техническими нелепостями, как например, выбором правильного символьного предложения, протокола сети или формата базы данных.
Решения и гипотезы
Естественно-языковое программирование посредством программы Пегас поможет решать далее упомянутые проблемы: 1. Программные идеи разработчиков могли бы выражаться непосредственно на естественном языке, без связанного с большими потерями изменения структуры. 2. Так как обычно естественный язык в течение длинных периодов остается неизменным, то равносильными остаются также составленные в нем программы: исчезнет проблема составления программ по-новому с целью приспосабления их к актуальному состоянию техники, совершенствовались бы только компиляторы для естественно-языкового программирования, так что разработчиков не будет это беспокоить. 3. Разработчики могли бы писать примечания и документацию на своем родном языке, а другие разработчики могли бы продолжать работу на основании автоматического перевода на соотсетствующий их родной язык. Уменьшилась бы и потребность в комментариях, так как программы будут составляться уже на естественном языке. 4. Пегас допускает только стандартные форматы, как, например, универальный код.
На основании вышеупомянутых соображений в основе нашей работы лежат следующие гипотезы, подтверждение которых мы ожидаем получить путем реализации системы программирования "Пегас" и дополнения многочисленных примеров использования. ( Примеры использования )
1. С естественно-языковыми программными языками можно разрабатывать в общем приложения более эффективно, в частности, при применении зависимости контекста, механизмов референцирования и механизмов сжатия естественного языка.
2. Программы, написанные на естественно-языковых программных языках, легче и быстрее в понимании, чем программы, написанные на обычных языках программирования.
3. Естественное языки программирования легче выучивать.
Язык идей
Естественный язык, подобно человеческому мышлению, должен моделироваться для применения в Пегасе в определенной форме. C этой целью была спроектирована идейная запись. С ее помощью можно комбинировать первоначальные идеи, то есть идеи, которые непосредственно берут начало от наших замыслов, как например, "красный цвет" или "громко", с комплексным идеями, как например, "древесина" или "стол", а также с объединенными идеями, в которых сразу могут отображаться мысли как „стол коричневый“ (стол коричневого цвета). Сами идеи превосходят специфические естественные языки, так как они могут выражаться на различных естественных языках. Хотя все эти идеи индивидуальны для каждого отдельного человека, все же, они имеют схожые черты. Только благодаря этому коммуникация вообще становится возможна, и это является также основой для компьютерной системы с общим знанием.
Особенности естественного языка программирования
Естественный язык программирования отличается от ныне существующих языков программирования в том числе по следующим 3 пунктам, которые нацелены на то, чтобы оформлять обмен информацией насколько эффективно, насколько это является возможным: 1. Частое применение имплицитного референцирования, напр., с помощью таких местоимений, как „он“, „она“, или плилагательных "последний", с помощью прямых определений, как „ символьная последовательность“ или с помощью утвердительных предложений, напр., „ Да, это верно“. 2. Применение упрощений (сжатий), напр., синтаксических упрощений, как в „Покажи строки и столбцы матрицы“, а также путем применения семантическим упрощений, напр., „Просморти множество слева направо и наоборот“. 3. Зависимость контекста, напр., „Возьми список. Прибавь на конце число 3. Возьми название списка. Прибавь на конце число 3.“, где предложение „ Прибавь на конце число 3.“ имеет, соответственно ,2 различных значения.