![]() |
|
![]() ![]() ![]() |
|
Винитарх |
|
||||||||||||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 21.1.2007 Репутация: нет Всего: нет |
Итого счёт 5:1 в пользу Visual Prolog7.2. ![]()
|
||||||||||||
|
|||||||||||||
Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 6 Всего: 49 |
А это разве задача для декларативного языка? Хотя бы для функционального - да. VIP действительно в этом отношении более универсален, но мы так и не определились, почему это следует считать достоинством. А на "родных" для Пролога задачах разница в быстродействии, пожалуй, невелика (хотя она, не буду возражать, действительно в пользу VIP). Заодно, кстати, не дадите ссылку на сравнение? Не поймите превратно, мне просто интересно посмотреть на более детальное описание результатов. Да, пожалуй, тут соглашусь. Хотя та же типизация (она в VIP, кстати, не слишком уж строгая, до какой-нибудь Ады ему очень далеко) - это существенно противоречащее исходной идее свойство. Получившийся результат, возможно, и лучше, но он не является Прологом. Скорее он заполняет экологическую нишу Хаскеля и т.п., но при этом, пожалуй, излишне громоздок.
А зачем? Это просто еще одна задача, которую не надо решать на Прологе. Да, если хочется все сразу сделать на одном языке, то в случае SWI это будет посложнее, но подобное желание не вполне естественно. Кхм... а что понимается под "моим форумом"? Знаете, то, что в языке есть нечто, чем я не хочу пользоваться, для меня не является достоинством. ![]() Я бы сказал, что он не шестой, а нулевой. Допустим, написал я некую программу на VIP в 1999 году (пример, кстати, совершенно реальный), и что я с ней сейчас буду делать? Инструмент импорта старых проектов, конечно, есть, но он, мягко говоря, кривоват. На нынешних версиях Windows все это дай бог если вообще как-то запустится. А программа и сейчас представляет ценность, причем вариант "выкинуть и написать заново" не стоит рассматривать - слишком сложно. В реальности, правда, и пришлось переписывать. Но в расчете на SWI и под Linux, с другими обертками. Но то, что получилось, и сейчас успешно крутится на разных платформах, и я не думаю о том, что завтра разработчик компилятора еще что-то поменяет и мне придется лихорадочно думать, что и где в коде более чем десятилетней давности при этом отвалится. Ну совсем уж по старинке не получится. А заманчивости неиспользования сторонних библиотек (если они есть и достаточно хорошо сделаны) я, откровенно говоря, не понимаю. Помимо всяких частных соображений, есть одно стандартное общее - универсальный комбайн умеет делать все, но, как правило, каждую конкретную вещь он делает хуже, чем специализированный инструмент. |
|||
|
||||
Винитарх |
|
||||||||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 21.1.2007 Репутация: нет Всего: нет |
![]()
|
||||||||
|
|||||||||
Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 6 Всего: 49 |
Необходимость прототипирования предикатов - пожалуй, мешает. А в чем именно разница? В SWI посимвольная обработка - это те же "полстрочки". Ну, вкус фломастеров у каждого и в самом деле разный. На мой взгляд, механизм унификации является существенным для языка. |
|||
|
||||
Винитарх |
|
||||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 21.1.2007 Репутация: нет Всего: нет |
Кстати в Visual Prolog есть так называемые анонимные предикаты, которых в ISO Прологах нет. Поэтому в некоторых случаях писать весь предикат не надо, а только тело.
|
||||
|
|||||
Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 6 Всего: 49 |
Знаете, написание всего кода на Аде повышает эту безопасность еще сильнее. Ада - это тоже разновидность Пролога? Только очень основательно обрезанный. Фактически допустима унификация только объектов с заранее гарантированной однотипной структурой, что резко снижает ее ценность. |
|||
|
||||
Винитарх |
|
||||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 21.1.2007 Репутация: нет Всего: нет |
|
||||
|
|||||
Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 6 Всего: 49 |
Нет, просто довел Ваш аргумент до логического завершения. Любой язык программирования отличается от других каким-то набором характерных особенностей (вообще говоря, неважно, хороших или плохих). Если у некоторого языка поменять эти характерные особенности на другие (неважно, по каким причинам) - получится другой язык. Возможно, даже более хороший, но другой. В Прологе нет статической типизации и существенно ограничены императивные возможности. Можно долго и упорно выяснять, хорошо это или плохо, но это так. И если все эти элементы добавить в язык, то получится нечто другое. В конце концов, Erlang почему-то никто не пытается назвать Прологом, хотя его синтаксис, вообще говоря, ближе к Прологу, чем синтаксис VIP. |
|||
|
||||
Винитарх |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 21.1.2007 Репутация: нет Всего: нет |
|
||||||
|
|||||||
Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 6 Всего: 49 |
Ладно, давайте закругляться. Признаться, этот спор слепого с глухим мне уже немного надоел, а поскольку мы придерживаемся разных представлений о том, где проходит граница между диалектом и другим языком, то спорить на эти темы мы можем бесконечно долго. |
|||
|
||||
![]() ![]() ![]() |
Правила форума Prolog | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Prolog | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |