Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Непейвода Н.Н. -> "Основания программирования " -> 259

Основания программирования - Непейвода Н.Н.

Непейвода Н.Н., Скопин И.Н. Основания программирования — Институт компьютерных исследований , 2002. — 919 c.
Скачать (прямая ссылка): osnovanprogramm2002.pdf
Предыдущая << 1 .. 253 254 255 256 257 258 < 259 > 260 261 262 263 264 265 .. 316 >> Следующая

ой вигры в выразительности).
аиболее заметным недостатком новх версий язка Рефал5 явилось отсутствие различения абстрактного и конкретного синтаксиса. Вместо того, чтобы сделать четверть шага по напрапвлению к лучшему оформлению программы, мо но бло б просто отказаться от фиксации оформления в определении языка и дать возмо ность определять синтаксические расирения и представления самим разработчикам.
Стоит заметить, что нынешний язык Рефал находится в мягком концептуальном противоречии со столь блестяще реализованной в нем же идеей динамического вычисления программ. Решение исполнять ту функциональную скобку, внутри которой нет других таких скобок, бло оправдано и логично при создании Рефала, а теперь оно у е меает эффективно использовать аппарат метапреобразований. налогично, необходимо заметить, что Рефал созрел для настоящего представления мультииерархической структуры, что позволит язку выйти на новые классы прило ений. Таким образом, в бли-
айее время мо но о идать появления нового сентенциального язка, ре-
5 Разделяемым подавляющим большинством систем программирования, но в данном случае ощущаемым наиболее остро.
746
13.
ализуего иде конкретизации. Громадной бедой будет, если под красивой оберткой кто-нибудь подсунет в эту область концептуально непродуманное 'прагматическое' решение. Выигрыши от прагматизма будут минимальными, временными и локальными, а потери — длительными, на порядок пре-восходяими аналогичные потери для традиционных языков, и глобальн -ми.
Тем более можно прогнозировать такое развитие данной ветви сентенциального программирования, поскольку Рефал великолепно подходит для &-параллелизма (см. § A.7). Подстановки значений переменных в результирующее выражение можно осуществлять независимо руг от друга. Более того, в принципе можно было бы даже в этом варианте Рефала вычислять различные функциональные скобки в параллель, помешать этому могут лишь значения, передаваемые через аппарат закапывания-выкапывания. Но это стандартная проблема синхронизации для параллельных вычислений, с которой мо но справляться достаточно разработаннми средствами, тем более что концептуально аппарат для соответствуей разметки программы ее в ходе ее составления в языке подготовлен.
Из литературы по языку Рефал можно рекомендовать учебные пособия [90, 5, 8], первое из которых имеется в общедоступном русском переводе, в частности, на сайте .
Стоит заметить, что сентенциальное программирование, и особенно его разновидность, базирующаяся на модели отождествления-замены, великолепно сочетается с идеей ассоциативной памяти (см. стр. 21), и здесь воз-мо ен прорыв одновременно на аппаратном и программном уровнях.
§ 13.2. УНИФИКАЦИЯ
13.2.1. Общие концепции
Язык логического программирования PROLOG представляет собой другу модель сентенциального программирования, несовместиму 6 с моделью Рефала.
Британско-канадская группа, создававая PROLOG, рассмотрев ортогональный Рефалу подход7, замаскировала его сущность примитивным ме-
6 Это — глубочайший теоретический результат и одно из редких прямых предупреждений, сделанных теорией практике. Но даже прямые предупреждения, как правило, игнорируются практиками, многие из которых не понимают самого понятия алгоритмической неразрешимости.
7 Конечно же, они не имели никаких сведений о Рефале и работали совершенно неза-
13.2.
747
тодологически-теоретическим анализом и неадекватным названием. этом проявилась коренная разница русской и англо-американской8 школ науки: В. Ф. Турчин проделал адекватный анализ, не устаревший за 30 лет, но он не стремился к обепонятности и сликом больой популяризации (мо ет быть, потому, что ему не нужно было выбивать гранты). Создатели PROLOG с самого начала в значительной мере использовали теори и методологи как заклинания либо молитвы, не имеющие отношения к сути дела и произносимые для его освящения. Тем самым теоретическая база сразу же оказалась неадекватной, что и привело к бстрому расползани системы и потере концептуального единства. Хуже другое. Это помешало осознанию реальных достижений подхода, основанного на унификации, поскольку они часто противоречили мифам и саморекламе.
PROLOG вдохновлялся ограничением классического исчисления предикатов, предложенным Хорном. Как известно (см., например, книгу [63] и рило ения), в классической логике в лбой достаточно богатой теории появля тся чистые теорем суествования, когда из доказательства невозможно выделить построение требуемого объекта. Если ограничиться конъюнкциями импликаций вида
Vx1,..., xn3yi,... ,yk ... (A1Ik • • • &An = B) (13.6)
где каждая составляющая является элементарной формулой, и само доказанное утвердение имеет такой е вид, то получить построение из доказательства возмо но, поскольку у нас не остается да е косвеннх способов сформулировать и нетривиально использовать что-либо похожее на A V—A. Такие формулы называются хорновми.
Далее, от лишних кванторов можно избавиться при помощи сколемиза-ции, когда кванторы суествования заменя тся на функци , аргументами которой явля тся все переменне, связанне ранее стояими кванторами
Предыдущая << 1 .. 253 254 255 256 257 258 < 259 > 260 261 262 263 264 265 .. 316 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100