Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Prolog
Перезагрузить страницу Есть ли на Ваш взгляд будущее у Пролога?
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Anonimkina Anonimkina вне форума
Новичок
 
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 10.10.2011
По умолчанию Есть ли на Ваш взгляд будущее у Пролога? - 10.10.2011, 22:43

Господа, очень нужен совет людей, имеющих опыт программирования на Прологе. В этом году я поступила в аспирантуру (не в свой ВУЗ), и мой новый научный руководитель предложил мне тему, связанную с разработкой условий полиномиальной сложности алгоритмов на Турбо-Прологе, использующих хвостовую рекурсию. К сожалению, пока эта тема для меня абсолютно "чужая" - я вообще-то специалист по защите информации, в универе у меня не было даже отдельного курса Пролога, начала учить с нуля.
Мой вопрос заключается в следующем. Сейчас мне нужно написать обоснование темы (то есть доказать ее актуальность и значимость), но чем больше я пытаюсь вникнуть в суть проблемы, тем сильнее становится ощущение, что мне предстоит работать с полумертвым языком, оставшимся как дань истории и как изящная теоретическая "игрушка". Пожалуйста, подскажите, существуют ли сейчас действительно интересные, перспективные проекты, использующие пролог, посоветуйте, о чем стоит сказать, обосновывая актуальность выбранной темы.
Буду очень признательна за любые рекомендации - сама я просто в замешательстве, и не представляю, о чем писать...
Ответить с цитированием
  (#2 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,955
Сказал(а) спасибо: 2
Поблагодарили 302 раз(а) в 302 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 10.10.2011, 23:23

Цитата:
Есть ли на Ваш взгляд будущее у Пролога?
Вы зашли на Пролог-форум, который на этом сайте занимает третье место по популярности среди прочих языков. Следовательно у него есть как минимум настоящее. А будущее мы делает сами.
Цитата:
предложил мне тему, связанную с разработкой условий полиномиальной сложности алгоритмов на Турбо-Прологе, использующих хвостовую рекурсию
В такой Вашей интерпретации эта тема не имеет смысла (имхо). Средство (Турбо Пролог) является античным и никак не подходит к использованию в кандидатской диссертации ни по актуальности, ни по выразительной мощности. Надо использовать новые Прологи (типизированный Visual Prolog 7.3 или нетипизированный SWI, например).
Для того, чтобы обосновать тему о решении задач полиномиальной сложности, надо, как я представляю, найти актуальные прикладные задачи указанной сложности. Однако, насколько я знаю, такие задачи в подавляющем своём большинстве решаются без проблем на современной вычислительной технике.

На Прологе легко разрабатывать проекты, связанные с обходом состояний в пространстве поиска, Пролог очень хорошо реализует недетерминированные решения. В настоящее время на Прологе решается много актуальных задач и его применение, как инструментария, оправдано.
Ответить с цитированием
  (#3 (permalink)) Старый
Alison Alison вне форума
Member
 
Сообщений: 4,781
Сказал(а) спасибо: 0
Поблагодарили 119 раз(а) в 116 сообщениях
Регистрация: 17.11.2004
По умолчанию 10.10.2011, 23:35

Тема интересная. Но Турбо Пролог, действительно, староват и неудобен. Я бы не стала на нем делать, весь энтузиазм бы пропал от тоски, так что Ваши сомнения понятны.

Чтобы испытать удовольствие при работе над темой и иметь интерес, конечно, нужно писать на Visual Prolog. Зайдите на сайт Visual Prolog Programming Language, Compiler, IDE, Download Free Personal Edition, там есть ссылки на документацию. Статей довольно много, освоить язык будет не очень сложно (начните с двух вводных статей Томаса, затем - статьи Сабу Френсиса, а дальше там еще много всего). Да и здесь на форуме уже тоже накопилось что-то.
К тому же на том же сайте можно посмотреть, где используется Visual Prolog.
Ответить с цитированием
  (#4 (permalink)) Старый
Anonimkina Anonimkina вне форума
Новичок
 
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 10.10.2011
По умолчанию 11.10.2011, 03:19

Спасибо большое всем, кто откликнулся!
Осталось убедить своего научного руководителя, что Турбо-Пролог - не лучший вариант, но я подозреваю, что это будет совсем не просто...
Ответить с цитированием
  (#5 (permalink)) Старый
xonix xonix вне форума
Member
 
Сообщений: 429
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 16.03.2007
По умолчанию 11.10.2011, 04:14

Рискую поднять флуд и быть закиданным яйцами, но всё-таки скажу.

Пролог конечно крутой язык, но я все больше склоняюсь к мысли, что одна из основных его сильных сторон - недетерминизм не так уж и хороша. Хотя она и делает код более декларативным, но многократно увеличивает то, что называется semantic gap (отличие между описанием программы и тем, что в действительности делает компьютер).

Это приводит к двум вещам - сложности отладки и проблеме оптимальности кода. Нам сложнее писать оптимальный код, т.к. нам очень сложно контролировать то, что будет исполнять процессор, читая нашу программу, и всё что мы вынуждены делать - полагаться на эффективность доступного компилятора.

Сверх того, когда мы всё же начинаем "оптимизировать" наш проложный код, мы начинаем думать в терминах процедурной семантики, начинаем писать императив на прологе, опошляя всю идею ЛП. Получается, что недетерминизм - это скорее минус чем плюс? А как иначе объяснить то, что специалисты фирмы Ericsson, взяв пролог в качестве прототипа своего нового языка программирования и выкинув его сильные стороны - недетерминизм и унификацию, получили вполне себе популярный нынче язык программирования?

С другой стороны недетерминизм встроенный в язык не является так уж необходим. Многие алгоритмы вполне неплохо переформулируются в терминологию без недетерминизма (например, "сгенерируй и проверь"). А при большом желании можно реализовать поиск с откатом и на обычном императивном языке.

Вот взять задачу разбора текста - лексический и синтаксический анализ. Оказывается, недетерминированный парсер мало того что замучаешься отлаживать, так еще и его эффективность будет ниже всякой критики. (Кстати, по теме парсинга тут статейка интересная нарисовалась Adventures in Mercury: Parsing Expression Grammars part 2).

Полу-детерминированность (semidet) еще может быть полезна, но и она заменима вещами типа Maybe и всякими монадическими приколами.

Без недетерминизма логическая унификация тоже как бы не нужна, т.к. эти две фичи могут "красиво" работать только вместе. Более того, некоторые уважаемые люди склонны считать, что и с недетерминизмом она тоже не нужна.

Вот и получается... А что, собственно, получается? А, не знаю.
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
aag aag вне форума
ушёл... не вернётся)))
 
Сообщений: 3,400
Сказал(а) спасибо: 0
Поблагодарили 82 раз(а) в 82 сообщениях
Регистрация: 29.11.2008
По умолчанию 12.10.2011, 01:59

Ну, я по-чайниковски))) Взгляд со стороны)))

У Прологов одна единственная пролема на сегодняшний день. Как её обозвать, я ещё не придумал.

Попробую на пальцах:

Ситуация номер 1: среднестатистический АбАлдуй ваяет порево на С++.
Реакция "общества": ну, что взять с АбАлдуя?!)))
Реакция АбАлдуя: ну да, напорол, сорри.

Ситуация номер 2: этот же самый АбАлдуй ваяет порево на Прологе.
Реакция "общества": ну, что взять с Пролога?!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Реакция АбАлдуя: ну да, Пролог - отстой!!!

Такие дела.

Автору темы: у Пролога и без Вас проблемКи))).

Господину xonix: я чего-то ничего Вашего более менее приличного на Прологах как-то и не Увидел))) Может чего и пропустил?!)))
Ответить с цитированием
  (#7 (permalink)) Старый
Krys Krys вне форума
Member
 
Сообщений: 33
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
Регистрация: 03.10.2010
По умолчанию 12.10.2011, 09:51

Уважаемый aaq, я один из тех, кто ничего "более менее приличного" на Прологах не продемонстрировал. Мне это просто не нужно. Мне нужно решить задачу, и посмотреть результат.
Бесконечные споры вокруг Пролога напоминают домохозяйку, подметающую пол. Ей нужен, прежде всего, чистый пол, и во вторую очередь качество веника. А производителям веников - их качество и объем продаж (в широком смысе). Судя по обсуждению в форуме число производителей веников превышает число домохозяек.
Что мне нужно от Пролога? Во-первых, понятность текста как средство общения. Во-вторых его эффективность. Читая (именно, читая) программу на Турбе, я понимаю что хотел сказать автор и как он это реализует - это просто уникальное качество Турбы. Желающие могут в это убедиться - почитайте тексты PIE написанные на ТП2, это лучше любого учебника. Сегодня, читая некоторые новые тексты на VIP 7.2-7.3 я перестал его понимать. Встал вопрос - либо изучать непрерывно меняющийся синтаксис VIP, либо продолжать заниматься своим делом, используя классические средства VIP. Ситуация напоминает производство моб. телефонов - все больше функций, и все меньше желание их использовать. ИМХО.
Ответить с цитированием
  (#8 (permalink)) Старый
aag aag вне форума
ушёл... не вернётся)))
 
Сообщений: 3,400
Сказал(а) спасибо: 0
Поблагодарили 82 раз(а) в 82 сообщениях
Регистрация: 29.11.2008
По умолчанию 12.10.2011, 13:02

Цитата:
Сообщение от Krys Посмотреть сообщение
Уважаемый aaq, я один из тех, кто ничего "более менее приличного" на Прологах не продемонстрировал. Мне это просто не нужно. Мне нужно решить задачу, и посмотреть результат.
Бесконечные споры вокруг Пролога напоминают домохозяйку, подметающую пол. Ей нужен, прежде всего, чистый пол, и во вторую очередь качество веника. А производителям веников - их качество и объем продаж (в широком смысе). Судя по обсуждению в форуме число производителей веников превышает число домохозяек.
Что мне нужно от Пролога? Во-первых, понятность текста как средство общения. Во-вторых его эффективность. Читая (именно, читая) программу на Турбе, я понимаю что хотел сказать автор и как он это реализует - это просто уникальное качество Турбы. Желающие могут в это убедиться - почитайте тексты PIE написанные на ТП2, это лучше любого учебника. Сегодня, читая некоторые новые тексты на VIP 7.2-7.3 я перестал его понимать. Встал вопрос - либо изучать непрерывно меняющийся синтаксис VIP, либо продолжать заниматься своим делом, используя классические средства VIP. Ситуация напоминает производство моб. телефонов - все больше функций, и все меньше желание их использовать. ИМХО.
Пардон, мысль от меня ускользает. Если Вы Турбу защищаете, то от меня конкретно её защищать не надо - я ей бы памятник воздвиг нерукотворный)))
Ответить с цитированием
  (#9 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,955
Сказал(а) спасибо: 2
Поблагодарили 302 раз(а) в 302 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 12.10.2011, 14:16

Все нововведения в Visual Prlog 7.x являются факультативными, т.е. необязательны для использования. В Visual Prolog 7 можно писать в стиле Турбо Пролога и не париться изучением новых фич. Об этом я писал стопицот раз, это - стопицот первый.
Все новые фичи можно описать классическими средствами, но при этом исходник чуток увеличиться. Этой "болезнью" страдают все языки программирования испокон веков. Ещё PL/1 имел такой громадный объём встроенных возможностей, что их описание занимало ОЧЕНЬ много томов, прочесть которые до конца и их усвоить не мог ни один живой. В этом смысле Visual Prolog 7 по сравнению с C++, Паскалем или C# является практически здоровым языком с необременительным набором фич, дублирующих классические языковые средства.

Почему автору темы лучше использовать в своей диссертации Visual Prolog 7, а не Турбо Пролог???
Ответ прост: хотя бы для того, чтобы на защите и у ВАК не было вопросов типа "почему использовалось древнее программное средство?"
Ответить с цитированием
  (#10 (permalink)) Старый
Alison Alison вне форума
Member
 
Сообщений: 4,781
Сказал(а) спасибо: 0
Поблагодарили 119 раз(а) в 116 сообщениях
Регистрация: 17.11.2004
По умолчанию 12.10.2011, 19:03

Ну, если речь идет о "чистоте эксперимента", то в диссертации может требоваться и Турбо Пролог.
Можно сделать просто: писать и отлаживать на Visual Prolog, затем нужный код переписать в Турбо Пролог. И сделать приложение - оптимизацию или демонстрацию новых возможностей с помощью современных средств Visual Prolog.
Ответить с цитированием
  (#11 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,955
Сказал(а) спасибо: 2
Поблагодарили 302 раз(а) в 302 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 12.10.2011, 21:06

Цитата:
Сообщение от Alison
Ну, если речь идет о "чистоте эксперимента", то в диссертации может требоваться и Турбо Пролог.
Поясни пожалуйста, что значит "чистота" в рассматриваемом контексте и чем Турба "чище" VIP.
Ответить с цитированием
  (#12 (permalink)) Старый
Alison Alison вне форума
Member
 
Сообщений: 4,781
Сказал(а) спасибо: 0
Поблагодарили 119 раз(а) в 116 сообщениях
Регистрация: 17.11.2004
По умолчанию 12.10.2011, 22:57

Там даже reference domains есть. И вообще, это одна из первых реализаций Пролога.
Ответить с цитированием
Ads
  (#13 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,955
Сказал(а) спасибо: 2
Поблагодарили 302 раз(а) в 302 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 13.10.2011, 00:08

Цитата:
Сообщение от Alison
Там даже reference domains есть.
По этому критерию нетипизированные Прологи значительнее чище Турбы. Там даже доменов нет.
Цитата:
Сообщение от Alison
И вообще, это одна из первых реализаций Пролога.
Да что ты говоришь?! Читай книжки или хотя бы воспользуйся поиском в нете.
Ответить с цитированием
  (#14 (permalink)) Старый
aag aag вне форума
ушёл... не вернётся)))
 
Сообщений: 3,400
Сказал(а) спасибо: 0
Поблагодарили 82 раз(а) в 82 сообщениях
Регистрация: 29.11.2008
По умолчанию 13.10.2011, 00:57

Цитата:
Сообщение от Винитарх Посмотреть сообщение
По этому критерию нетипизированные Прологи значительнее чище Турбы. Там даже доменов нет.
Стоп, стоп, стоп. Кажется, Вы интересовались у Alison, чем Турба "чище" ВИПа?! Нет?! При чём тут нетипизированные прологи?! Хоть бы они и "чище" Турбы, но вопрос был про Турбу и ВИП, а совсем не про Турбу и нетипизированные Прологи.

Тут не Дума, и не Рада, и не Конгресс. Давайте ка по существу...
Ответить с цитированием
  (#15 (permalink)) Старый
Alison Alison вне форума
Member
 
Сообщений: 4,781
Сказал(а) спасибо: 0
Поблагодарили 119 раз(а) в 116 сообщениях
Регистрация: 17.11.2004
По умолчанию 13.10.2011, 16:29

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

Из типизированных и при этом широко распространенных Турбо Пролог был первым.
Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Есть ли будущее в js framework prototype ? artemhp DHTML, JavaScript, VBScript 0 19.03.2012 12:28
Какая на ваш взгляд самая "ресурсопожирающая" игра TheChemicalBrothers Игры 18 05.03.2012 08:51
русификатор для пролога куку Prolog 1 05.12.2010 11:55
купил карту ati 5770 какова она на ваш взгляд? санька ебург Видеокарты 3 06.09.2010 17:04
Самые лучшие на ваш взгляд проги для разгона ахмед Библиотека 3 03.03.2010 18:06
Компиляторы Пролога Lisenok Prolog 12 03.10.2008 20:05
Взгляд на Россию извне Arachnelis Юмор 0 14.01.2008 20:50
Сайт как Путь в будущее w4rd3n Зацените! 8 11.02.2006 16:40
Те кто пользуется мобильной связью: как на ваш взгляд? Olesya Офтопик 6 07.01.2006 10:31
Алфавит "Elphy" - прошлое или будущее Dominator Информационные технологии 6 22.06.2004 16:40
Новый взгляд на ProgZ.ru Ex Юмор 0 28.04.2004 10:49
Книга "Дорога в Будущее" отзывы о книге GEV_256 Офтопик 3 05.12.2003 22:29



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов