Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выбор одного из диалектов Prolog, Определение качеств всех диалектов 
:(
    Опции темы
Винитарх
  Дата 17.2.2010, 00:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 21.1.2007

Репутация: нет
Всего: нет



Цитата(Фантом)
1) Непревзойденная скорость исполнения программ - это, конечно, плюс. Правда, можно спорить о том, обладает ли им VP.
На нашем форуме проводились сравнения VIP vs SWI. Ест-но не в пользу SWI. SWI  не только уступил в скорости на порядки, он просто глючил на тех исходных данных, на каких VIP прекрасно работал. А вычисляли мы функцию Аккермана.
Цитата(Фантом)
2) Надежность и безопасность кода - в чем именно она выражается?
В строгой типизации. Львиная доля ошибок вылавливается на этапе компиляции. В SWI ест-но типизации нет и на этапе проектирования нельзя проверить надёжность программы, только на этапе исполнения путём тестирования. Но кто ж проводит ПОЛНОЕ тестирование? Да никто!
Цитата(Фантом)
3) Развитый GUI - да. Только любая внешняя библиотека сделает это не хуже, да и работает вся эта кухня (как, впрочем, и сам компилятор) только под одной ОС.
Это всё слова. Напишите на SWI к примеру СУБД для внутренней БД и прочуствуйте разницу во времени и затраченных усилиях между SWI и VIP.
Цитата(Фантом)
4) Возможность программирования с использованием современных парадигм функционального и императивного программирования - это не достоинство, это недостаток.
Это большое достоинство. Потому что эти возможности факультативны. Не нравится - не используйте. Оставайтесь в рамках синтаксиса Турбо Пролога, который, как я увидел по Вашему форуму, Вы знаете. Никто, как говорится не принуждает.
Цитата(Фантом)
5) Наличие огромной библиотеки - это, конечно, тоже плюс. Но тут то же замечание, что и в п.3 - непереносимость ее сильно обесценивает.
Да переносимости в VIP7 нет. Она осталась только в VIP5. Но всё же это уже не пятый, а шестой пункт, в котором VIP уступает SWI.
Итого счёт 5:1 в пользу Visual Prolog7.2.  smile 

Цитата(Грымзик)
Винитарх, я считаю, что это недостаток, потому что я никак
не могу понять зачем это надо, если можно без этого.
Дык в том то и дело, что в VIP7.2 можно писать по старинке, как писали в Турбо Прологе, без всяких изысков. Никто же Вас не заставляет! Однако иметь прямой доступ, например, к данным в Oracle без обращения к чужим библиотекам, это - заманчиво.


PM MAIL   Вверх
Фантом
Дата 17.2.2010, 01:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: 6
Всего: 49



Цитата(Винитарх @  17.2.2010,  00:23 Найти цитируемый пост)
На нашем форуме проводились сравнения VIP vs SWI. Ест-но не в пользу SWI. SWI  не только уступил в скорости на порядки, он просто глючил на тех исходных данных, на каких VIP прекрасно работал. А вычисляли мы функцию Аккермана.

А это разве задача для декларативного языка? Хотя бы для функционального - да. VIP действительно в этом отношении более универсален, но мы так и не определились, почему это следует считать достоинством. А на "родных" для Пролога задачах разница в быстродействии, пожалуй, невелика (хотя она, не буду возражать, действительно в пользу VIP).

Заодно, кстати, не дадите ссылку на сравнение? Не поймите превратно, мне просто интересно посмотреть на более детальное описание результатов.

Цитата(Винитарх @  17.2.2010,  00:23 Найти цитируемый пост)
В строгой типизации. Львиная доля ошибок вылавливается на этапе компиляции. В SWI ест-но типизации нет и на этапе проектирования нельзя проверить надёжность программы, только на этапе исполнения путём тестирования. Но кто ж проводит ПОЛНОЕ тестирование? Да никто!

Да, пожалуй, тут соглашусь. Хотя та же типизация (она в VIP, кстати, не слишком уж строгая, до какой-нибудь Ады ему очень далеко) - это существенно противоречащее исходной идее свойство. Получившийся результат, возможно, и лучше, но он не является Прологом. Скорее он заполняет экологическую нишу Хаскеля и т.п., но при этом, пожалуй, излишне громоздок.

Цитата(Винитарх @  17.2.2010,  00:23 Найти цитируемый пост)
Это всё слова. Напишите на SWI к примеру СУБД для внутренней БД и прочуствуйте разницу во времени и затраченных усилиях между SWI и VIP.

А зачем? Это просто еще одна задача, которую не надо решать на Прологе. Да, если хочется все сразу сделать на одном языке, то в случае SWI это будет посложнее, но подобное желание не вполне естественно.

Цитата(Винитарх @  17.2.2010,  00:23 Найти цитируемый пост)
Это большое достоинство. Потому что эти возможности факультативны. Не нравится - не используйте. Оставайтесь в рамках синтаксиса Турбо Пролога, который, как я увидел по Вашему форуму, Вы знаете. Никто, как говорится не принуждает.

Кхм... а что понимается под "моим форумом"? 

Знаете, то, что в языке есть нечто, чем я не хочу пользоваться, для меня не является достоинством. smile Правда, я не предпочитаю Turbo/PDC VIP'у, к первому все сказанное ранее относится примерно в той же степени, что и ко второму. Турбо Пролог я действительно знаю - точнее, знал лет 15-20 назад, а сейчас уже многое успел забыть (к VIP, впрочем, относится то же самое, только воспоминания посвежее). Однако уже лет десять как минимум я попросту не вижу задач, к которым их можно было бы приспособить. Попытки писать все на Прологе явно нелепы - проще собрать гетерогенный проект, написав все, кроме системы логического вывода, на чем-нибудь другом. Собственно прологовские задачи пишутся на SWI быстрее и эффективнее (а скорость разработки в этих случаях, как правило, ценнее скорости выполнения), стыковать их с чем-то другим проще. Ну и закладываться на Windows и коммерческий компилятор с особенностями, меняющимися от версии к версии, я не хочу даже бесплатно.

Цитата(Винитарх @  17.2.2010,  00:23 Найти цитируемый пост)
Да переносимости в VIP7 нет. Она осталась только в VIP5. Но всё же это уже не пятый, а шестой пункт, в котором VIP уступает SWI.
Итого счёт 5:1 в пользу Visual Prolog7.2.

Я бы сказал, что он не шестой, а нулевой. Допустим, написал я некую программу на VIP в 1999 году (пример, кстати, совершенно реальный), и что я с ней сейчас буду делать? Инструмент импорта старых проектов, конечно, есть, но он, мягко говоря, кривоват. На нынешних версиях Windows все это дай бог если вообще как-то запустится. А программа и сейчас представляет ценность, причем вариант "выкинуть и написать заново" не стоит рассматривать - слишком сложно.

В реальности, правда, и пришлось переписывать. Но в расчете на SWI и под Linux, с другими обертками. Но то, что получилось, и сейчас успешно крутится на разных платформах, и я не думаю о том, что завтра разработчик компилятора еще что-то поменяет и мне придется лихорадочно думать, что и где в коде более чем десятилетней давности при этом отвалится.

Цитата(Винитарх @  17.2.2010,  00:23 Найти цитируемый пост)
Дык в том то и дело, что в VIP7.2 можно писать по старинке, как писали в Турбо Прологе, без всяких изысков. Никто же Вас не заставляет! Однако иметь прямой доступ, например, к данным в Oracle без обращения к чужим библиотекам, это - заманчиво.

Ну совсем уж по старинке не получится. А заманчивости неиспользования сторонних библиотек (если они есть и достаточно хорошо сделаны) я, откровенно говоря, не понимаю. Помимо всяких частных соображений, есть одно стандартное общее - универсальный комбайн умеет делать все, но, как правило, каждую конкретную вещь он делает хуже, чем специализированный инструмент. 
PM   Вверх
Винитарх
Дата 18.2.2010, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 21.1.2007

Репутация: нет
Всего: нет



Цитата(Фантом)
Кхм... а что понимается под "моим форумом"?
Этот форум. Ведь Вы ж активность свою на нём проявляете, а не каком-нить другом форуме по Прологу.
Цитата(Фантом)
Знаете, то, что в языке есть нечто, чем я не хочу пользоваться, для меня не является достоинством.
Но и не может являться недостатком. Оно ж не мешает. Можно об императивных и функциональных парадигмах просто забыть напрочь. smile
Цитата(Фантом)
Собственно прологовские задачи пишутся на SWI быстрее и эффективнее 
Неправда. Например прога транслитерации русского текста английскими буквами (вполне проложная задача) пишется на VIP в пол строчки, а на SWI dj сколько это выйдет? Не берём в расчёт базу для замен, которая на VIP и на SWI будет практическиодинаковой.
Цитата(Фантом)
Помимо всяких частных соображений, есть одно стандартное общее - универсальный комбайн умеет делать все, но, как правило, каждую конкретную вещь он делает хуже, чем специализированный инструмент. 
Да я понимаю. На квус и цвет - фломастеры разные. Просто я не разделяю высказывания типа: Visual Prolog - не является Прологом. Аргументы свои я привёл выше. Главная же мысль моя: в Visual Prolog есть бэктрекинг и предикаты - это то, что делает язык именно прологом, независимо от того, что ещё дополнительно реализовано в языке. унификация тоже есть, но она не является для пролога обязательной, имхо. 

PM MAIL   Вверх
Фантом
Дата 18.2.2010, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: 6
Всего: 49



Цитата(Винитарх @  18.2.2010,  18:03 Найти цитируемый пост)
Но и не может являться недостатком. Оно ж не мешает. Можно об императивных и функциональных парадигмах просто забыть напрочь.

Необходимость прототипирования предикатов - пожалуй, мешает.

Цитата(Винитарх @  18.2.2010,  18:03 Найти цитируемый пост)
Неправда. Например прога транслитерации русского текста английскими буквами (вполне проложная задача) пишется на VIP в пол строчки, а на SWI dj сколько это выйдет? Не берём в расчёт базу для замен, которая на VIP и на SWI будет практическиодинаковой.

А в чем именно разница? В SWI посимвольная обработка - это те же "полстрочки".

Цитата(Винитарх @  18.2.2010,  18:03 Найти цитируемый пост)
Главная же мысль моя: в Visual Prolog есть бэктрекинг и предикаты - это то, что делает язык именно прологом, независимо от того, что ещё дополнительно реализовано в языке. унификация тоже есть, но она не является для пролога обязательной, имхо. 

Ну, вкус фломастеров у каждого и в самом деле разный. На мой взгляд, механизм унификации является существенным для языка.


PM   Вверх
Винитарх
Дата 20.2.2010, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 21.1.2007

Репутация: нет
Всего: нет



Цитата(Фантом)
Необходимость прототипирования предикатов - пожалуй, мешает.
Вы имеете в виду объявления предикатов? Так они ж повышают надёжность и безопасность кода.
Кстати в Visual Prolog есть так называемые анонимные предикаты, которых в ISO Прологах нет. Поэтому в некоторых случаях писать весь предикат не надо, а только тело.
Цитата(Фантом)
Ну, вкус фломастеров у каждого и в самом деле разный. На мой взгляд, механизм унификации является существенным для языка.
Пусть будет существенным. В VIP то он всё едино есть. Вот поэтому то я и говорю, что Visual Prolog является Прологом, настоящим и полнокровным. Если он Вам не нравится - не используйте. Но говорить, что он не Пролог, выглядит не только неаргументированно, но даже неправильно.


PM MAIL   Вверх
Фантом
Дата 20.2.2010, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: 6
Всего: 49



Цитата(Винитарх @  20.2.2010,  14:49 Найти цитируемый пост)
Вы имеете в виду объявления предикатов? Так они ж повышают надёжность и безопасность кода.

Знаете, написание всего кода на Аде повышает эту безопасность еще сильнее. Ада - это тоже разновидность Пролога?

Цитата(Винитарх @  20.2.2010,  14:49 Найти цитируемый пост)
Пусть будет существенным. В VIP то он всё едино есть.

Только очень основательно обрезанный. Фактически допустима унификация только объектов с заранее гарантированной однотипной структурой, что резко снижает ее ценность.
PM   Вверх
Винитарх
Дата 20.2.2010, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 21.1.2007

Репутация: нет
Всего: нет



Цитата(Фантом)
что резко снижает ее ценность.
И одновременно с этим повышает надёжность кода.
Цитата(Фантом)
Знаете, написание всего кода на Аде повышает эту безопасность еще сильнее. Ада - это тоже разновидность Пролога?
У Вас, Фантом, закончились аргументы?  И Вы решили внести долю флейма? 

PM MAIL   Вверх
Фантом
Дата 21.2.2010, 00:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: 6
Всего: 49



Цитата(Винитарх @  20.2.2010,  20:00 Найти цитируемый пост)
У Вас, Фантом, закончились аргументы?  И Вы решили внести долю флейма?

Нет, просто довел Ваш аргумент до логического завершения.

Любой язык программирования отличается от других каким-то набором характерных особенностей (вообще говоря, неважно, хороших или плохих). Если у некоторого языка поменять эти характерные особенности на другие (неважно, по каким причинам) - получится другой язык. Возможно, даже более хороший, но другой.

В Прологе нет статической типизации и существенно ограничены императивные возможности. Можно долго и упорно выяснять, хорошо это или плохо, но это так. И если все эти элементы добавить в язык, то получится нечто другое. В конце концов, Erlang почему-то никто не пытается назвать Прологом, хотя его синтаксис, вообще говоря, ближе к Прологу, чем синтаксис VIP.
PM   Вверх
Винитарх
Дата 21.2.2010, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 21.1.2007

Репутация: нет
Всего: нет



Цитата(Фантом)
В Прологе нет статической типизации и существенно ограничены императивные возможности.
Не эти особенности являются сутью Пролога, а предикаты, поиск с возвратом и унификация (хотя по мне две последние можно исключить, но пусть они останутся). Во-первых, то, что добавлено в Visual Prolog нисколько не исказило замысел первых создателей Пролога - программирование в предикатах. Во-вторых, этими добавками можно и не пользоваться, оставаясь в рамках ISO-Пролога, за исключением ряда предикатов, относящихся к анализу структуры термов, который в Visual Prolog просто бессмысленен, так как все термы объявляются на этапе разработки.
Цитата(Фантом)
Нет, просто довел Ваш аргумент до логического завершения.
Логическое завершение ISO-Прологов это Visual Prolog. Те же предикаты, тот же поиск с возвратом, только надёжно, быстро и легко (GUI).
Цитата(Фантом)
В конце концов, Erlang почему-то никто не пытается назвать Прологом, хотя его синтаксис, вообще говоря, ближе к Прологу, чем синтаксис VIP.
Отличие в синтаксисе между ISO-Прологами и Visual Prolog стремится к нулю. Для перевода SWI-программ в VIP-программы достаточно заменить is на знак =, а также слегка подправить предикаты ввода-вывода. Так делается уже много лет на нашем форуме progz.ru. И всё прекрасно работает.
PM MAIL   Вверх
Фантом
Дата 21.2.2010, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: 6
Всего: 49



Цитата(Винитарх @  21.2.2010,  19:16 Найти цитируемый пост)
Не эти особенности являются сутью Пролога, а предикаты, поиск с возвратом и унификация (хотя по мне две последние можно исключить, но пусть они останутся).

Ладно, давайте закругляться. Признаться, этот спор слепого с глухим мне уже немного надоел, а поскольку мы придерживаемся разных представлений о том, где проходит граница между диалектом и другим языком, то спорить на эти темы мы можем бесконечно долго.
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума Prolog
Void
  • Пожалуйста, создавайте темы с содержательными названиями.
  • Уважаемые учащиеся, здесь всегда рады помочь Вам, но не делать за Вас вашу работу. У вас гораздо больше шансов получить помощь, если Вы приложите усилия и поделитесь с нами проблемами и результатами. В противном случае добро пожаловать в раздел Центр Помощи.
  • Получив ответ на интересующий Вас вопрос, не забудьте пометить его как решённый.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Prolog | Следующая тема »


 




[ Время генерации скрипта: 0.1190 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.