Сохранен 28
https://2ch.hk/pr/res/396951.html
Прошлые домены не функционирует! Используйте адрес ARHIVACH.VC.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Пролог

 Аноним 19/10/14 Вск 20:20:04 #1 №396951 
14137356042880.jpg
Есть тут те, кто знает такой необычный язык програмирования как пролог?
Стоит ли его изучать? Где найти годные книги для его изучения?
Как перестроить мышление, которое привыкло к императивному и объекто ориентированному программированию на c, c++, java, php, python, javaScript, и понять суть логического программирования?
Аноним 19/10/14 Вск 20:25:53 #2 №396955 
Ищи лучше по тегу constraint programming - это более современная его инкарнация.
Аноним 19/10/14 Вск 20:30:16 #3 №396963 
>>396955
ОК, но вопросы всё же остаются открытыми.
Аноним 23/10/14 Чтв 17:56:25 #4 №398134 
>>396951
да, стоит. На нём оче прикольно решать некоторые логические задачи.

Так что бери книгу Льюиса Керолла и вперёд.
sageАноним 23/10/14 Чтв 18:05:31 #5 №398137 
advanced prolog concepts for enterprise and web developers
Аноним 23/10/14 Чтв 18:19:48 #6 №398145 
Пролог ето просто мондада LogicT с поганым синтаксисом Ерланга
Аноним 23/10/14 Чтв 19:55:53 #7 №398176 
>>396951
Старьё. Если тебя интересует логическое программирование то бери сразу Mercury.

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

Можно конечно начать с пролога, чтобы осилить азы ЛП, но в результате всё равно придёшь к Меркурию если на забъёшь хуй по дороге. Есть ещё Curry, но это тот же хаскель, со сбоку прикрученной логической парадигмой, хуита, да и в отличие от Mercury - нихуя не развивается.
Аноним 24/10/14 Птн 00:30:34 #8 №398292 
Стоит
>>398176
Меркури - это похоже современный пролог, а ты заебал своими рекламными постами про меркури. Написал на нем что-нибудь?
Аноним 24/10/14 Птн 20:17:16 #9 №398547 
>>396951
У меня другой вопрос, может кто-то на пальцах объяснить суть пролога/его отличие от остальных языков? Например так:

1. Программа на лиспе это одна большая функция, вызывающая другие функции вместо последовательности операторов
2. Функции в лиспе вызываются как (f x y) вместо f(x, y)

Или:
1. В Forth'е нет переменных вместо них используется один глобальный стек
2. Программа на Forth'е это последовательность операций над стеком.
3. Операциям не передаются аргументы в коде программы, они используют значения на вершине стека
 Аноним 24/10/14 Птн 20:26:59 #10 №398550 
>>398547
Компилятор для си
Компилятор для Си  Бамбу ( Бамбу) 24/10/14 Птн 20:27:48 #11 №398551 
Компилятор для си посоветуйте..
sageАноним 24/10/14 Птн 20:34:52 #12 №398555 
>>398551
glasgow c compiler
Аноним 24/10/14 Птн 22:10:39 #13 №398574 
>>398547
Все функции логические.
Например длина строки пишется как
len(x, y) и len(3, 'huj') == true
Все программы пишутся как логические выводы.
Паттерн матчинг.
Аноним 24/10/14 Птн 22:27:50 #14 №398583 
>>398292
>а ты заебал своими рекламными постами про меркури
Впервые за пол года про него отписался.

>>398547
В логической программе ты описываешь факты о мире и правила вывода. Дальше ты задаёшь данные и Пролог сам решает задачу.
Аноним 25/10/14 Суб 02:59:04 #15 №398649 
О, нихуя, пролог-тред.
Меня ему учили в институте, при том что мы инженеры и нас никто никогда не учил серьёзным алгоритмам, современным фреймворкам и прочему. Программирование нам надо чисто чтобы свою работу автоматизировать, численный метод какой реализовать и т.п.
Поначалу мы все охуевали и не знали, как на нём писать, потом меня осенило и я с удовольствием написал все задания за семестр. А на экзамене группа наиболее продвинутых студентов писала экспертную систему на этом деле.
А потом мои одногруппники показали преподу выдачу хедхантера на запрос "пролог" и там было три вакансии, бухгалтер, охранник и водитель - в компанию ООО "ПроЛог".

Короче, это интересное развлечение может быть, но не уверен, что такой подход - вывод решения из правил мира - кто-то сейчас использует
Аноним 25/10/14 Суб 03:13:24 #16 №398652 
Ламповый усач поясняет суть:
https://www.youtube.com/watch?v=G_eYTctGZw8
Аноним 25/10/14 Суб 03:22:51 #17 №398654 
Студент, запомни: твой научник тоже был романтичным студентом, и ему тоже не давали покоя «инновационные технологии» своего времени. Возможно, некоторые из них он полюбил на всю жизнь. На пике популярности Prolog позиционировался как универсальный silver bullet, после которого никаких других языков не нужно, чем заразил умы многих. Если профессор пытается загипнотизировать тебя бородой на написание диплома на Прологе — беги! Вполне вероятно, что у него тяжелая травма на этой почве, и каждый год он выбирает жертву, которая будет пытаться смыть его позор и доказать всем. Тебя ждёт неминуемый FAIL с необходимостью переписать весь код за два дня до защиты, его ждёт новая жертва. По словам приезжих членов комиссии из ДС, прецеденты всё ещё случаются по всей стране.
Аноним 25/10/14 Суб 03:25:07 #18 №398655 
Вот кодишь ты на нормальном языке, все более или менее кодится, ок, норм. Кодишь на прологе — и блять словно ты накурился. Ты, вроде бы, тоже кодишь, но этой какой-то ад и пиздец невообразимый, где запах можно описать стулом, а время — фиолетовое.
Аноним 06/11/14 Чтв 14:10:14 #19 №402718 
Аноны, нид хелп! Есть тут люди разбирающиеся в ПРОЛОГЕ? Объясните на пальцах вот эту часть кода -

%3 - процедура разделения списка на 2:в первом - с первого до N-го, во втором - с N+1 до последнего.
раздел_спис ( [ ] ,_ ,_ ,_ ).
раздел_спис ( B, 0 ,[], B ) :-!.
раздел_спис ( [H|T] ,N, [H|A] ,B) :-N1=N-1,
раздел_спис (T,N1,A,B).

Ну прям вот что каждый оператор делает, надо зачет сдать по этой хуйне, а пролог какой то наркоманский язык. Полный код - http://codepad.org/oXCIxLV0
Аноним 06/11/14 Чтв 14:15:14 #20 №402722 
>>402718
Ты должен понять это сам. Когда ты сможешь без проблем читать и писать Прологовский код, ты достигнешь просветления. Тебе откроется совершенно новая точка зрения на программирование в целом, ты словно увидишь новое измерение. Твой разум никогда уже не станет прежним.
Аноним 06/11/14 Чтв 14:21:05 #21 №402725 
>>402722
Да у меня крыша скоро поедет с этим прологом.
Аноним 06/11/14 Чтв 15:58:37 #22 №402769 
>>398654
>Возможно, некоторые из них он полюбил на всю жизнь.
Прям как мой кент и Дельфи. Люто бешено ненавидит Си-подобные языки, люто фапает на Дельфи, пишет на бэйсике, лол. Ненависть к силайк языкам аргументирует следующим: Блять, ненавижу скобочки, сука, параша. Препод говорил что скобочки не нужны, а у него 40 лет стажа, а у тебя профильки нету, хули ты пиздишь тут вообще? Он нас так учил! Так учил, что мы могли ночью проснуться и все определения пересказать! Вот ты, ты, сука, сможешь мне сейчас сказать в точности, что такое алгоритм?! А я чё?! Я могу! делает глубокий вдох и на выдохе быстро произносит Алгори́тм это набор инструкций, описывающих порядок действий исполнителя для достижения результата решения задачи за конечное число действий. Вот! Видишь! Столько лет прошло, а я помню! И вообще у нас препод говорил, что Паскаль и Дельфи разработали для западных программистов онли, а Си и С++ разработали что бы запутать, иначе нахуя столько скобоче использовать и фигурные блять и квадратные, а Дельфи всё заебись begin и end и всё понятно.
Аноним 06/11/14 Чтв 16:29:17 #23 №402775 
14152805575510.jpg
14152805575521.png
КРУПНЕЙШИЙ СПЕЦИАЛИСТ ПО ИСКУССТВЕННОМУ ИНТЕЛЛЕКТУ В ИМПЕРИИ ОДОБРЯЕТ ЕТОТ ТРЕД
Аноним 06/11/14 Чтв 18:08:36 #24 №402807 
>>402725
Терпи, превозмогай. Это как у Дяченко в Vita Nostra.
Аноним 06/11/14 Чтв 19:38:06 #25 №402834 
>>402718
бампую вопрос
Аноним 06/11/14 Чтв 20:01:42 #26 №402845 
>>402834
%3 - процедура разделения списка на 2:в первом - с первого до N-го, во втором - с N+1 до последнего.
раздел_спис ( [ ] ,_ ,_ ,_ ).
% пустые списки мы не раздеяем
раздел_спис ( B, 0 ,[], B ) :-!.
% список когда разделяется с 0-я получается пустой спитсок и наш список
раздел_спис ( [H|T] ,N, [H|A] ,B) :-N1=N-1, раздел_спис (T,N1,A,B).
% [H|T] уже раделен на [H|A] и B с позиции N если A,B яволяются разделением T с позиции N-1
--------
НО В PROLOG-Е ЕСТЬ ТАКАЯ ТОНКОСТЬ ЧТО НЕ ВСЯКАЯ ПРОГРАММА ВЕРНАЯ С ТОЧЬКИ ЗРЕНИЯ ЛГОГИКИ БУДЕТ РЕШЕНА МАШИНОЙ, БОЛЬШЕНСТВО ПРОГРАММ ЗАЦИКЛИВАЮТСЯ, ПОЕТОМУ В УЧЕБНИКЕ >>402775 МНОГО УДЕЛЯЕТСЯ ИЗУЧЕНИЮ ТОВО КАК ВЫПОЛНЯЕТСЯ ПРОГРАММА НА PROLOG МАШИНОЙ
ЧТО И ФВЛЯЕТСЯ НАИБОЛЕЕ ПОЛЕЗНОЙ ЧАСТЬЮ КНИГИ
ТОЕСТЬ КНИГА УЧИТ КАК ПИСАТЬ ПРОГРАММЫ ПО ТВОИМ РАЗЗУЖДЕНИЯМ
Аноним 06/11/14 Чтв 20:22:21 #27 №402857 
>>402845
>раздел_спис ( [H|T] ,N, [H|A] ,B) :-N1=N-1, раздел_спис (T,N1,A,B).
>% [H|T] уже раделен на [H|A] и B с позиции N если A,B яволяются разделением T с позиции N-1
Спасибо анон, все понял кроме этого. Можешь как нибудь поподробней расписать момент "если A,B яволяются разделением T с позиции N-1"
Аноним 07/11/14 Птн 02:12:49 #28 №402935 
>>402857
ЕСЛИ ТЫ ПОНЯЛ ПЕРВУЮ ПОЛОВИНУ ТО ДОЛЖЕН ПОНЯТЬ И 2Ю - ТАМ ВСЕ ТО_ЖЕ
comments powered by Disqus