12 / 11 / 0
Регистрация: 29.11.2009
Сообщений: 186
1

СтОит ли изучать Пролог : "за" и "против"

02.01.2011, 21:07. Показов 6165. Ответов 10
Метки нет (Все метки)

Привет всем.
У меня в универе начался предмет Логическое программирование. предусмотрено на Прологе его освоить. И вот возникла дилема - надо ли серьёзно этим заниматься или нет , пригодится ли в будущем или нет.
В данный момент, после поиска в Гугле у меня вот такие "за" : очень интересен процесс изучения и программирования ; возможности которыми не обладают языки других классов (императивные например) ; в принципе имеются серьёзные проекты на этом языке.
Вот такие "против" : программы выполняются медленно ; очень трудно отлаживать ; в принципе мертвый язык ; лучше изучать сразу Меркури - это модифицированный Пролог (только вот литературы на русском по Меркури нету , вот в этом и вся загвоздка ... а по Прологу полно отличных книг).
Как вы , уважаемые программисты , считаете ? имеют ли смысл сделанные мною выводы ?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.01.2011, 21:07
Ответы с готовыми решениями:

Подсчитать в слове все сочетания "нн". Считать, что в последовательности "ннн" "нн" встречается один раз
напишите, пожалуйста, программу подсчета в слове всех сочетаний "нн". считать, что в...

Определить правила "призывник", "запасник", "отсрочка"...[GNU Prolog 1.3.1]
GNU Prolog 1.3.1! Задание 1 призывник(Х) – здоровые мужчины в возрасте от 18 до 27 лет...

Написать программу, выясняющую, есть ли в слове X буква "а", стоящая на нечётном месте после буквы "к""
Я нашла похожую на форуме, но переделать под свой вариант не очень получается, не до конца понимаю,...

Задача "Найти убийцу" (Турбо Пролог 2.0)
Будьте любезны, помогите пожалуйста! Сможете ли вы воспользоваться турбо прологом, чтобы найти...

10
Заблокирован
02.01.2011, 23:57 2
ВиталикБВГ, работу, связанную с прологом вы, скорее всего, не найдете.
Диалектов пролога достаточно много, ИМХО выделяется Visual, который изначально отличался простотой создания оконного пользовательского интерфейса(сейчас ИМХО не актуально, т.к. создано и так много "конструкторов"), интересно то, что последние версии полностью объектно-ориентированы(в предыдущих была возможность использовать чисто логический подход, при этом, консольные программы были почти полностью совместимы с Turbo Prolog-ом). Вроде бы как Visual prolog считается перспективным. http://ru.wikipedia.org/wiki/Visual_Prolog
Также выделяется SWI пролог, уже тем, что программы на нем совместимы на уровне исходного кода с Windows, Linux, Macintosh. Вцелом, лучше чем тут - прочитайте статью в википедии: http://ru.wikipedia.org/wiki/SWI-Prolog - пишут, что там есть нормальный отладчик. Он имеет интерфейс к другим языкам программирования.
Кстати, Turbo Prolog имеет интерфейс для Turbo C, Поэтому можно писать часть программы на Си, а часть на прологе - возможно, иногда, и удобно. Жаль что использовать другой компилятор языка Си у меня не получилось, а Turbo C использовать совсем не хочется.
А вцелом, все диалекты пролога похожи, ИМХО после освоения одного не составит особого труда перейти на другой (есть конечно диалекты, который сильно отличаются, например, существует диалект, имеющий оператор разрушающего присваивания (кажется, это Ariti, но могу ошибиться), ну или Visual сильно отличается).
Сейчас нет всегда актуальна скорость работы программы. Возможно, потому пролог и не является сильно распространенным языком, что раньше скорость играла решающую роль. Сейчас быстродействие компьютеров выросло, но и новые версии компиляторов пролога генерируют все более и более оптимальный код. Использование ОО подхода тоже снижает быстродействие и ограничивает программиста, однако, он популярен и часто используется, т.к. создаваемый код является более безопасным и упрощает повторное использование кода.
Если хотите поразбираться из-за интереса процесса изучения и программирования, то кроме логического подхода, возможно, стоит обратить внимание на функциональный - тоже очень интересно
2
2504 / 1478 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
02.01.2011, 23:58 3
Лучший ответ Сообщение было отмечено как решение

Решение

Если честно, то мне кажется, что скорее не имеет смысла. Он действительно очень редко используется. Я бы рада найти работу с ним, а что-то не получается. Так что только если Вам действительно интересно. Кстати, по поводу Меркури - в книге Сошникова "Парадигма логического программирования" есть разделы про Меркури, я правда не знаю насколько хорошо и много там написано, я не читала.
3
12 / 11 / 0
Регистрация: 29.11.2009
Сообщений: 186
03.01.2011, 13:29  [ТС] 4
благодарю.
а я вот недавно видел объявление с поиском Пролог-программиста. В какой-то крупный банк. требование : хорошее знание Пролога , теории графов , мат логики , теории алгоритмов.
а вот интересно ,как на счёт Меркури ? он популярен ? перспективен?
0
Заблокирован
27.09.2014, 15:34 5
Цитата Сообщение от ВиталикБВГ Посмотреть сообщение
,как на счёт Меркури ? он популярен ? перспективен?
Вроде как да. Он создан именно для ПРОМЫШЛЕННОГО программирования со всеми вытекающими, а не для баловства школьников, как "чистый" Пролог
0
785 / 589 / 156
Регистрация: 07.10.2013
Сообщений: 1,313
28.09.2014, 11:10 6
Цитата Сообщение от ВиталикБВГ Посмотреть сообщение
У меня в универе начался предмет Логическое программирование. предусмотрено на Прологе его освоить. И вот возникла дилема - надо ли серьёзно этим заниматься или нет , пригодится ли в будущем или нет.
Мощный подход типа если предмет не пригодится в будущем, то херим его
Цитата Сообщение от ВиталикБВГ Посмотреть сообщение
В данный момент, после поиска в Гугле у меня вот такие "за" : очень интересен процесс изучения и программирования ; возможности которыми не обладают языки других классов (императивные например) ; в принципе имеются серьёзные проекты на этом языке.
Если в принципе интересен процесс программирования - изучайте.
Если будете изучать не для отмазки, то и в императивных будет улучшение процесса.
Цитата Сообщение от ВиталикБВГ Посмотреть сообщение
Вот такие "против" : программы выполняются медленно ; очень трудно отлаживать ; в принципе мертвый язык ; лучше изучать сразу Меркури - это модифицированный Пролог (только вот литературы на русском по Меркури нету , вот в этом и вся загвоздка ... а по Прологу полно отличных книг).
Медленно? Всё относительно и всё для своего... Трудно отлаживать - бред. Мертвый язык - дважды бред.
Про модификации и диалекты надо думать уже после освоения парадигмы как таковой...
Цитата Сообщение от ВиталикБВГ Посмотреть сообщение
В данный момент, после поиска в Гугле...
Поисковиком тоже надо уметь пользоваться
0
Заблокирован
31.10.2014, 14:50 7
Цитата Сообщение от arlat Посмотреть сообщение
Медленно? Всё относительно и всё для своего... Трудно отлаживать - бред. Мертвый язык - дважды бред.
Про модификации и диалекты надо думать уже после освоения парадигмы как таковой...
Обоснуйте
0
785 / 589 / 156
Регистрация: 07.10.2013
Сообщений: 1,313
31.10.2014, 16:08 8
Доктор ТуамОсес, что обосновать?
Развести с Вами полемику, софистику и прочую ерундистику. Если Вам это так важно, обоснуйте обратное. Ну, для затравки Вам ссылка хотя бы такая Why Prolog? - ProB Documentation
0
Заблокирован
31.10.2014, 18:46 9
Цитата Сообщение от arlat Посмотреть сообщение
что обосновать?
Почему Вы считаете, что спустя 50 лет после создания пролога, не появились языки-аналоги, которые гораздо более мощные и продвинутые и эффективные в промышленном производстве софта.

Почему Вы считаете, что среди языков, поддерживающих декларативную (логическую) парадигму нет языка лучше пролога?

Добавлено через 1 минуту
И приведите примеры ПРОМЫШЛЕННЫХ программных комплексов, сделанных на исходном прологе

Добавлено через 32 секунды
Т.е. без использования его более современных диалектов и расширений
0
785 / 589 / 156
Регистрация: 07.10.2013
Сообщений: 1,313
01.11.2014, 11:48 10
Доктор ТуамОсес, Вы хоть читаете то, что сами пишете?
Все Ваши "Почему Вы считаете" не ко мне, я ничего не считаю такого.
Про какой исходный Пролог и где я говорил?
И с современными диалектами и расширениями я не спорю.
Не переворачивайте всё с ног на голову, ВиталикБВГ спрашивал, стоит ли ему изучать Пролог, я ответил, по возможности кратко.

Добавлено через 5 минут
Доктор ТуамОсес, ПРОМЫШЛЕННЫЕ программные комплексы пишутся на соответствующей реализации Пролога, например SICStus Prolog.

Добавлено через 2 минуты
сейчас есть понятие ISO standard compliant

Добавлено через 15 минут
Доктор ТуамОсес, ааа... я понял, Mercury, да пожалуйста... чего копья ломать, я же говорил "после освоения парадигмы как таковой", хочется сразу на Mercury учиться - не проблема.
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
33784 / 18820 / 3969
Регистрация: 12.02.2012
Сообщений: 31,574
Записей в блоге: 12
01.11.2014, 22:39 11
Пролог - необычайно красивый язык. И поучить его полезно хотя бы в силу этого обстоятельства. Точно так же, как знание иностранного языка делает человека культурнее, так знание доп. языка программирования обогащает.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.11.2014, 22:39
Помогаю со студенческими работами здесь

Проверить, есть ли в заданном слове буква "к", стоящая на четных местах перед буквой "и"
Здравствуйте!Помогите пожалуйста решить задачу. Составьте программу, проверяющую, есть ли в...

Построить программу "сжать", назначение которой - преобразование английских слов в их "звуковой" код
Всем привет . Не могли бы помочь решить данную задачу ?) Построить программу "сжать", назначение...

Написать программу, выясняющую, есть ли в слове X буква "а", стоящая на нечётном месте после буквы "к"
Написать программу, выясняющую, есть ли в слове X буква "а", стоящая на нечётном месте после буквы...

Составить программу, проверяющую есть ли в слове X буква "к" , стоящая на четных местах перед буквой "и".
Здравствуйте надо решить вот такую задачу: по теме "Обработка строк в языке Prolog": Составить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru