Re[3]: Почему так мало говорят о Прологе?
От: MasterZiv СССР  
Дата: 01.10.09 19:09
Оценка:
Klapaucius пишет:

> MZ>так зачем же себя ограничивать этим прологом ?

>
> Это, мягко говоря, совсем нездоровая логика.
> Если так рассуждать, то можно написать и:
> "Вот лично мне лисп уже не интересен потому, что всё, что можно написать
> на нём, можно написать и не на нём.

Я забыл спросить. Ты пролог-то знаешь ? И лисп ?
Я что-то подозреваю, что пролог -- не очень.
Posted via RSDN NNTP Server 2.1 beta
Re[4]: Почему так мало говорят о Прологе?
От: MasterZiv СССР  
Дата: 01.10.09 19:11
Оценка:
Mirrorer пишет:

> По крайней мере унификация aka pattern matching имеется. Или что-то

> другое имеется ввиду ?

Это две абсолютно разные вещи.
Posted via RSDN NNTP Server 2.1 beta
Re[2]: Почему так мало говорят о Прологе?
От: MasterZiv СССР  
Дата: 01.10.09 19:14
Оценка:
xonixx пишет:

> SWI) очень импонирует. Короче, для меня пролог выруливает по параметру

> (интерес, гибкость) / (сложность освоения, применения).

На прологе ты вряд ли будешь что-то писать. А на хаскеле -- запросто.
Т.е. я хочу сказать, что при всей кажущейся академичности обоих языков
практическая применимость Хаскеля гораздо шире, чем пролога.
Posted via RSDN NNTP Server 2.1 beta
Re[2]: Почему так мало говорят о Прологе?
От: MasterZiv СССР  
Дата: 01.10.09 19:16
Оценка:
MigMit пишет:

> За других не скажу. Мне в Прологе не понравилось (а) определённая

> императивность (некоторые правила вызываются только и исключительно ради
> сайд-эффекта, причём не безопасного (типа вывода чего-то на экран),

Дык, не делай сайд-эффектов. Там проблема -то другая -- как решать
обычные, нелогические задачи, оставаясь в рамках пролога.
Там выхода-то только два: либо побочние эффекты, либо -- не в рамках
пролога
Posted via RSDN NNTP Server 2.1 beta
Re[3]: Почему так мало говорят о Прологе?
От: MigMit Россия http://migmit.vox.com
Дата: 01.10.09 19:48
Оценка:
Здравствуйте, MasterZiv, Вы писали:

MZ>MigMit пишет:


>> За других не скажу. Мне в Прологе не понравилось (а) определённая

>> императивность (некоторые правила вызываются только и исключительно ради
>> сайд-эффекта, причём не безопасного (типа вывода чего-то на экран),

MZ>Дык, не делай сайд-эффектов.


Дык, а как это меня гарантирует от того, что их сделает мой коллега?
Re[2]: Почему так мало говорят о Прологе?
От: thesz Россия http://thesz.livejournal.com
Дата: 01.10.09 20:21
Оценка:
Здравствуйте, xonixx, Вы писали:


X>Тоже удивляет. Мне вот пролог нравится гораздо больше хаскеля. Объяснение следующее. Что-то более-менее сложное я бы не стал писать ни на том ни на том. Для этого есть, например Java.


Это достойно.

Это очень, очень достойно.

Осмелюсь спросить, что же такого сложного ты не доверишь Хаскелю, а доверишь Java?
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Re[3]: Почему так мало говорят о Прологе?
От: MigMit Россия http://migmit.vox.com
Дата: 01.10.09 20:35
Оценка:
Здравствуйте, thesz, Вы писали:

T>Осмелюсь спросить, что же такого сложного ты не доверишь Хаскелю, а доверишь Java?


Мне тоже интересно. Именно в плане "сложности". Я понимаю, могут быть другие параметры — скажем, когда позарез надо компилиться в JVM. Но...
Re: Почему так мало говорят о Прологе?
От: BigBoss  
Дата: 01.10.09 21:47
Оценка:
Здравствуйте, md03t4, Вы писали:

M>В этом форуме очень редко всплывают вопросы/советы/отзывы/.../ о применении методов логического программирования (Prolog, Mercury, ...).

M>Это потому что:
M>-Логическое программирование никому не интересно в современном мире?
M>-Не имеет никаких, сколько-нибудь приближенных к практике применений в последние годы?
M>-Просто "непопацански"?

Не имеет никаких, сколько-нибудь приближенных к практике применений.
Это не очевидно?
Re[2]: Почему так мало говорят о Прологе?
От: metaprogrammer  
Дата: 02.10.09 09:32
Оценка: 6 (1)
Здравствуйте, Mr.Cat, Вы писали:

MC>PS: А с чего стоит начать знакомиться с логическим программированием, чтобы у этого чего-то была нормальная имплементация под линупс и чтоб на этом чем-то можно было писать что-то небольшое и полезное (что предполагает наличие некоторого количества готовых биндингов к основным линупсовым прикладным либам и несложную разработку новых биндингов)?


Эксклюзивно для любителей Схемы — Schelog.
Re: Почему так мало говорят о Прологе?
От: metaprogrammer  
Дата: 02.10.09 09:34
Оценка: 1 (1)
Здравствуйте, md03t4, Вы писали:

M>-Логическое программирование никому не интересно в современном мире?


Оно используется очень активно — но Пролог тут не при делах. На функциональных языках часто пишут код, подозрительно похожий на логику предикатов. Всякие там rule engines — это тот же Пролог, но с человеческим лицом. Встраиваемые варианты Пролога весьма популярны. Но я понятия не имею, на кой нужен Пролог отдельно и сам по себе.
Re[3]: Почему так мало говорят о Прологе?
От: KoriBRand  
Дата: 02.10.09 13:28
Оценка:
Здравствуйте, MasterZiv, Вы писали:

MZ>MigMit пишет:


MZ>Дык, не делай сайд-эффектов. Там проблема -то другая -- как решать

MZ>обычные, нелогические задачи, оставаясь в рамках пролога.

Так же как логические В университете у нас была курсовая, в рамках которой я реализовывал оптимальное кодирование по Хаффману на Прологе. Алгоритм, кстати, получился раза в два короче, чем та же задача, решеная на С. Правда код обвязки (ввод/вывод) оказался сильно раздутым, что свело все преимущество на нет. Ну и сам интерпертатор был пригоден только для учебных целей. (А Visual Prolog, увы, мертворожденный проект)
Re[4]: Почему так мало говорят о Прологе?
От: MasterZiv СССР  
Дата: 03.10.09 12:53
Оценка:
KoriBRand пишет:

> Так же как логические В университете у нас была курсовая, в рамках

> которой я реализовывал оптимальное кодирование по Хаффману на Пролог

Неоптимально это. Получается паровоз с КПД 3-5%.
Posted via RSDN NNTP Server 2.1 beta
Re[2]: Почему так мало говорят о Прологе?
От: thesz Россия http://thesz.livejournal.com
Дата: 03.10.09 21:24
Оценка:
Здравствуйте, xonixx, Вы писали:


X>Тоже удивляет. Мне вот пролог нравится гораздо больше хаскеля. Объяснение следующее. Что-то более-менее сложное я бы не стал писать ни на том ни на том. Для этого есть, например Java.


Я осторожно напомню о своём желании увидеть по настоящему сложную задачу, которую нельзя доверить Хаскелю, но можно доверить Джаве.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Re[3]: Почему так мало говорят о Прологе?
От: xonixx  
Дата: 04.10.09 13:14
Оценка: :)
Здравствуйте, thesz, Вы писали:

T>Здравствуйте, xonixx, Вы писали:


T>Я осторожно напомню о своём желании увидеть по настоящему сложную задачу, которую нельзя доверить Хаскелю, но можно доверить Джаве.


Тут я скорее имел в виду сложное не столько в плане собственно алгоритмической сложности, сколько в плане размера/масштаба. Например, те же веб-приложения. Да, я слышал что для Хаскеля есть HappS, но думаю, будет лишним напоминать, что распространен он дай бог хотя бы на 1/1000 от явовских решений, причем, подкрепленных стандартами (JEE, JSP, JDBC, J* ...). А распространение это: 1) Комьюнити/поддержка/легкость решения проблем 2) библиотеки/модули на все случаи жизни. 3) и потом, превосходный выбор инструментария для разработки/отладки (чего только стоит Intelij Idea, например) (а для хаскеля что-нибудь удобнее дебага в командной строке существует?). Сорри за разведение оффтопа

Вот и получается, что чтоб писать что-то посложнее Hello World или счетчика посещений надо по крайней мере:
1) Досконально знать Haskell (который, заметим, сложнее Явы)
2) Быть готовым к самостоятельному решению возникающих проблем (гугл не сможет вам помочь)
3) Довольствоваться скудным инструментарием

И это не говоря об особенностях самого языка. Сразу скажу, хаскель знаю довольно посредственно, по этому, вероятно я где-то ^^^ наврал, но я лишь высказываю свое имхо. Меня кстати напрягает чрезмерная purity языка. Помню, как-то захотел добавить отладочную печать в некоторых местах алгоритма, так пришлось менять сигнатуры функций...
Re[4]: Почему так мало говорят о Прологе?
От: Klapaucius  
Дата: 05.10.09 11:15
Оценка:
Здравствуйте, MasterZiv, Вы писали:

MZ>Да дело как раз в том и состоит, что Пролог -- вообще не язык программирования.

MZ>Это синтаксис записи логических предикатов + алгоритм поиска с возвратом.
MZ>Всё. Т.е. это -- один алгоритм, и язык описания данных для него.

Ох...
Да дело как раз в том и состоит, что Лисп -- вообще не язык программирования.
Это синтаксис записи списков + алгоритм вычисления с окружениями.
Всё. Т.е. это -- один алгоритм, и язык описания данных для него.

Видимо, мне придется все разжевывать.
Если реализовать язык просто — это не значит, что это "вообще не язык программирования". Если уж на то пошло, то наивная реализация лиспа, может еще и проще наивной реализации пролога. Ну так что с того? То, что реализовать пролог относительно просто — не отвечает на вопрос "почему так мало говорят о прологе?". По той просто причине, что сложность реализации языка никак не связана с тем, как часто о нем говорят.
Если же встроить пролог в другой язык и писать на этом встроенном eDSL — это все равно означает писать на прологе. И если писать какой-нибудь нетривиальный код, то рано или поздно придется переписать этот код в синтаксисе пролога и опубликовать его, например, здесь с соотвествующими вопросами. Поэтому, нет никакой разницы используют пролог как внешний язык или встроенный DSL — на то как много говорят здесь о прологе это никак не повлияет.

MZ>В общем -- чесать левое ухо пяткой правой ноги.

MZ>Можно ? да. Даже прикольно. Нужно ? я лично сомневаюсь.

Ну теперь добавилось еще и третье бессмысленное соображение. Ну да, для человека, который к прологу не привык — это все равно что "чесать левое ухо пяткой", а для того, кто привык — это совершенно естественно. А о том нужно это или нет, конечно, с вами забыли посоветоваться.

Предположение о сомнительной практической ценности — может быть нормальным объяснением того, "почему о прологе мало говорят", и то, что сейчас программисты чаще развлекаются другими языками тоже может быть объяснением (ну, вышел пролог из моды) и даже более правдоподобным чем первое — ничто не мешает обсуждать тут совершенно бесполезные с практической точки зрения языки. Но то что пролог это "один алгоритм и одна структура данных" и что его можно встроить в другой язык вообще никакого отношения к тому, обсуждают ли здесь пролог не имеет.
... << RSDN@Home 1.2.0 alpha 4 rev. 1228>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[4]: Почему так мало говорят о Прологе?
От: thesz Россия http://thesz.livejournal.com
Дата: 05.10.09 12:53
Оценка:
Здравствуйте, xonixx, Вы писали:

X>Здравствуйте, thesz, Вы писали:


T>>Здравствуйте, xonixx, Вы писали:


T>>Я осторожно напомню о своём желании увидеть по настоящему сложную задачу, которую нельзя доверить Хаскелю, но можно доверить Джаве.


X>Тут я скорее имел в виду сложное не столько в плане собственно алгоритмической сложности, сколько в плане размера/масштаба.


X>Например, те же веб-приложения. Да, я слышал что для Хаскеля есть HappS, но думаю, будет лишним напоминать, что распространен он дай бог хотя бы на 1/1000 от явовских решений, причем, подкрепленных стандартами (JEE, JSP, JDBC, J* ...).


А чего стоят эти стандарты, если я не могу подключить к ним ядро логики, написанной на языке, отличном от Java? Да ничего не стоят.

И кстати, почему Java, почему не Эрланг (чёрт с ним, с Хаскелем)?

X>А распространение это: 1) Комьюнити/поддержка/легкость решения проблем 2) библиотеки/модули на все случаи жизни. 3) и потом, превосходный выбор инструментария для разработки/отладки (чего только стоит Intelij Idea, например) (а для хаскеля что-нибудь удобнее дебага в командной строке существует?).


Удобнее дебага в командной строке дебаг с помощью типов и дебаг в голове.

X>Вот и получается, что чтоб писать что-то посложнее Hello World или счетчика посещений надо по крайней мере:

X>1) Досконально знать Haskell (который, заметим, сложнее Явы)

Преувеличение.

X>2) Быть готовым к самостоятельному решению возникающих проблем (гугл не сможет вам помочь)


Преувеличение.

X>3) Довольствоваться скудным инструментарием


Преувеличение. См. неподалёку "Жизнь без IDE".

X>И это не говоря об особенностях самого языка. Сразу скажу, хаскель знаю довольно посредственно, по этому, вероятно я где-то ^^^ наврал, но я лишь высказываю свое имхо. Меня кстати напрягает чрезмерная purity языка. Помню, как-то захотел добавить отладочную печать в некоторых местах алгоритма, так пришлось менять сигнатуры функций...


1) unsafePerformIO
2) Debug.Trace.trace

И вообще, язык должен менять мышление. А тут налицо попытка натянуть старое мышление на новый язык.

Кстати, purity позволяет делать par/pseq и ndp. В виде библиотеки.

Что на менее чистом камле сделать будет, как минимум, труднее.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Re[5]: Почему так мало говорят о Прологе?
От: MasterZiv СССР  
Дата: 06.10.09 05:50
Оценка:
Klapaucius пишет:

> Ох...

> Да дело как раз в том и состоит, что Лисп -- вообще не язык
> программирования.
> Это синтаксис записи списков + алгоритм вычисления с окружениями.
> Всё. Т.е. это -- один алгоритм, и язык описания данных для него.
>

Ты, видимо, большой любитель пролога, и я, видимо, бросил тень
на твою святыню, да ? Ну, извини.

Проблема-то в том, что на лиспе, как и на любом другом языке,
можно написать любой алгоритм, а на прологе ты все алгоритмы
будешь выражать через один. Зачем ? Я не понимаю.

> Если же встроить пролог в другой язык и писать на этом встроенном eDSL —

> это все равно означает писать на прологе. И если писать какой-нибудь

Против такого пролога я ничего не имею.

> нетривиальный код, то рано или поздно придется переписать этот код в

> синтаксисе пролога и опубликовать его, например, здесь с соотвествующими
> вопросами. Поэтому, нет никакой разницы используют пролог как внешний
> язык или встроенный DSL — на то как много говорят здесь о прологе это
> никак не повлияет.

Есть разница. На прологе только один алгоритм вывода.
Во встроенном я могу применить и другие.

> Ну теперь добавилось еще и третье бессмысленное соображение. Ну да, для

> человека, который к прологу не привык — это все равно что "чесать левое
> ухо пяткой", а для того, кто привык — это совершенно естественно. А о

А зачем привыкать к плохому ? Я в смысле -- писать нелогические
программы на логическом языке программирования ?

> практической точки зрения языки. Но то что пролог это "один алгоритм и

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

Ну, на мой взгляд имеют. Я, в общем-то , все свои соображения
высказал на эту тему.
Posted via RSDN NNTP Server 2.1 beta
Re[6]: Почему так мало говорят о Прологе?
От: Klapaucius  
Дата: 09.10.09 17:09
Оценка:
Здравствуйте, MasterZiv, Вы писали:

MZ>Ты, видимо, большой любитель пролога, и я, видимо, бросил тень

MZ>на твою святыню, да ?

Вообще-то нет. А вы, видимо, большой любитель по говорить о том, что я люблю? Я, конечно, польщен таким интересом к моей персоне, но может быть мы вернемся к онтопичной теме разговора?

MZ>Проблема-то в том, что на лиспе, как и на любом другом языке,

MZ>можно написать любой алгоритм, а на прологе ты все алгоритмы
MZ>будешь выражать через один. Зачем ? Я не понимаю.

Не на любом. На SQL, например, любой алгоритм не напишешь. Ну так что, никто про SQL не говорит? Ох нет... что-то опять не сходится.

MZ>Ну, на мой взгляд имеют.


Это понятно. Иначе вы бы так, видимо, не написали. Только связь эта не прослеживается. Было бы неплохо эти связи раскрыть или, хотя-бы, предметно ответить на мои возражения.
... << RSDN@Home 1.2.0 alpha 4 rev. 1228>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[7]: Почему так мало говорят о Прологе?
От: geniepro http://geniepro.livejournal.com/
Дата: 09.10.09 20:51
Оценка:
Здравствуйте, Klapaucius, Вы писали:

K>Не на любом. На SQL, например, любой алгоритм не напишешь. Ну так что, никто про SQL не говорит? Ох нет... что-то опять не сходится.


Современный SQL,вообще-то, полон по Тьюрингу...
Re[7]: Почему так мало говорят о Прологе?
От: MasterZiv СССР  
Дата: 10.10.09 08:27
Оценка:
Klapaucius пишет:

> Это понятно. Иначе вы бы так, видимо, не написали. Только связь эта не

> прослеживается. Было бы неплохо эти связи раскрыть или, хотя-бы,
> предметно ответить на мои возражения.

Я все свои соображения на этот счёт изложил уже в данной теме.
Более мне добавить нечего. Для себя я уже решил этот вопрос:
если я не буду писать чисто экспертную систему, то есть
у меня в системе будет код как обычный, так и для логического
программирования, пролог в чистом виде там использоваться не
будет. Будет использоваться реализация пролога на других
языках в виде библиотек, или вообще другие системы логического
программирования.
Posted via RSDN NNTP Server 2.1 beta
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.