За время развития вычислительной техники было создано несколько сот различных языков программирования, но ни один из них в полной мере не удовлетворял потребности людей, непосредственно работающих с ними. Появление языков четвертого уровня (4GL) не только не улучшило положение вещей, но и явно обозначило последний предел ограниченности традиционных подходов к программированию, когда программист большую часть времени занят отлавливанием ошибок в своих программах, чем настоящей творческой деятельностью. Теперь же благодаря российским программистам дело сдвинулось с мертвой точки.
Язык LOGICAL, получивший название от своего самого мощного оператора, обладает всеми возможностями языка сверхвысокого уровня (5GL). Написанные на нем программы предельно структурированы, абсолютно защищены от ошибок, не зависят от особенностей используемой вычислительной системы и практически не требуют отладки. Можно смело сказать, что язык LOGICAL — реальный прорыв в области так называемого искусственного интеллекта (ИИ).
ОСНОВНЫЕ КОНСТРУКЦИИ ЯЗЫКА
Алфавит — любые допустимые для конкретной вычислительной системы символы.
Переменные — всевозможные имена неограниченной длины из произвольного набора символов, включая пробелы и знаки препинания.
Арифметические выражения — основные ограничения в принципе те же, что и в большинстве классических языков программирования, только без сбивающего с толку ограничения на парность скобок и однонаправленность операторов присваивания.
ТИПЫ ДАННЫХ
В LOGICAL все ограничения на типы данных сняты, за исключением двух значений булевых переменных, которые, в отличие от ограниченных TRUE и FALSE традиционного программирования, заменены логическими значениями, присущими системам ИИ:
TRUE {тру} — для преемственности языков сохранило смысл «истина»;
TPRU {тпру} — имеет значение «правда».
Таким образом, вычислительная система ограждается от любой ложной обрабатываемой информации и работает лишь с истинными и правдивыми значениями.
ОПЕРАТОРЫ КЛАССИЧЕСКОГО ПРОГРАММИРОВАНИЯ
Переход на LOGICAL-программирование снимает с классических операторов все излишние синтаксическо-смысловые ограничения, мешающие быстрому и эффективному написанию программ.
CYCLE [число] {цикл} — организация циклических процессов. Необязательный параметр [число] обозначает примерное количество итераций для тела цикла. Если указать отрицательное значение параметра, то операторы тела цикла будут выполняться в обратном порядке — снизу вверх.
IF {иф} — условно выполнить. Все следующие за IF операторы выполняются лишь условно.
FI {фи} — безусловно выполнить. Все следующие за FI операторы выполняются безусловно.
GOSUB {войти} — войти туда, куда надо.
WAYOUT {выйти} — выйти откуда угодно. Весьма эффективный оператор, гарантирующий, что система никогда не зависнет.
ОПЕРАТОРЫ ВВОДА-ВЫВОДА
Во избежание путаницы и дублирования разнообразных возможностей и функций вывода-вывода система ИИ-языка использует только два оператора ввода-вывода:
READ {читать} — ввести все, что нужно, туда, куда можно;
WRITE {писать} — вывести все, что можно, туда, куда нужно.
ОПЕРАТОРЫ ВЫСОКОГО УРОВНЯ
Именно эта группа операторов придает языку LOGICAL свойства 5GL, позволяет существенно экономить ресурсы внешней и оперативной памяти, четко и однозначно определять требования к характеристикам программ, обеспечивает их гибкость, надежность и простоту отладки.
SPACE <число> {пространство} — этот оператор снимает проблему нехватки оперативной памяти системы, расширяя ее до указанного в параметре <число> количества мегабайт.
QUICKLY {быстрее} — каждое выполнение этого оператора на порядок повышает скорость выполнения программы.
KILLER {упорядочивание работы} — оператор, по которому все переменные, программы и файлы, мешающие нормальному выполнению отлаживаемой в данный момент программы, автоматически и бесследно уничтожаются из системы.
REABILITATION {возобновить} — если оператор KILLER уничтожил нужные файлы и программы из других приложений, то оператор REABILITATION просмотрит исходный текст программы и автоматически бесследно уничтожит все встретившиеся в ней операторы KILLER.
COMPRESS [имя], [число] {сжатие} — сжимает программы и файлы до указанного в параметре [число] количества байт. По умолчанию сжатие до 1 байт производится для всех файлов, имеющихся в вычислительной системе.
ОПЕРАТОРЫ СВЕРХВЫСОКОГО УРОВНЯ (уровень 5GL)
Этих операторов немного, но именно они наделяют LOGICAL возможностями ИИ.
PROCESSOR {процессор} — минимизирует время простоя процессора, обеспечивая его 100%-ную загрузку независимо от типа выполняемой вычислительной системой задачи.
DRINKTEA {дринкти} — при встрече с этим оператором вычислительная система подает напряжение на розетку, к которой подключен электрический чайник, и ждет, пока тот закипит.
SMOKING {смокинг} — после встречи с этим оператором система продолжает нормальную работу, выдавая на экран различные сообщения, не требующие вмешательства программиста, который в это время может сделать перекур или почистить смокинг.
LOGICAL {логический} — самый мощный оператор языка, заменяет все логически неправильные последовательности операторов программы на логически правильные.
РЕЗЮМЕ
Приведенный краткий список операторов языка LOGICAL позволяет понять, что даже их уже хватит для того, чтобы не только свести к минимуму трудоемкость работы программиста, но и обеспечить эффективное и надежное выполнение программ. Более подробно ознакомиться с языком LOGICAL можно по адресу: http://zhurnal.lib.ru/m/maslikow_w_i/mvi06log.shtml
УСПЕХОВ ВАМ, ДОРОГИЕ ПРОГРАММИСТЫ!
В.И. Масликов,
г. Хабаровск