А почему кстати все забыли о такой многообещающей парадигме программирования как логическое программирование? Почему сейчас никто не пишет на таких языках программирования как Пролог и не перенимает его синтаксические структуры в другие языки?
Потому что сейчас важен хороший результат за маленький срок, а пролого-подобные языки это СЛОЖНА для 95% "программистов"
>>1108236Для многих задач, программа на прологе напишеться намного быстрее чем на других языках.
>>1108237Очевидно, такие задачи сейчас не распространены.
bump
>>1108227 (OP)Дрочь на матаноблядство с доказательствами и прочая хуита, которая не повышает производительность
>>1108271О, выдаватель-на-гора в треде. Всем бросить занятия чепухой и начать уже причинять дофига 'пользы'.
>>1108275Где он про пользу писал, наркоман? Начнут за вашу дрисню деньги платить - начнем на ней писать.
>>1108290>Где он про пользу писал>производительность>деньгиКорыстники достойны презрения, гоните их, насмехайтесь над ними.
>>1108227 (OP)>2017>ПрологЗначица, клиническая картина такая.0. Заражение. Услышал где-то слово "Пролог".1. Инкубационный период. Прочитал в учебнике информатики или в методичке, что Пролог создавали специально для искусственного УХ БЛЯ интеллекта.2. Продомальный период. Начитался в Википедии вскукареков про пятое поколение ЭВМ, про то, что Пролог делает остальные языки не нужными и что он, якобы, сам находит решения задач, надо только правильно описать условие хе-хе))))0).3. Подострая стадия. Скачал книжку про ИИ на Прологе издания 80-х годов, прочитал введение и половину первой главы, после чего наступила ремиссия.4. Острая стадия. Осилил вышеозначенную книжку.5. Терминальная стадия. Взялся писать на прологе курсач/диплом.Ну-с, и насколько запущенный у тебя случай?
>>1108227 (OP)>А почему кстати все забыли о такой многообещающей парадигме программирования как логическое программирование?Её апологеты слишком много обещали, и слишком мало достигли.>>1108237Ничего сложнее laba2 на этом говне не написано. У кого-то в продакшене на самом старом и пыльном сервере валяется пара скриптов и всё.Тред можно закрывать до появления пруфов на вменяемые приложения.
я пишу, на только clips
>>1108294>Её апологеты слишком много обещали, и слишком мало достигли.а вот и нет, достигнуто дохуя, это припекло пердак копитолиздам и быстро все свернули
>>1108296С такими аргументами тред надо было создавать в /zog/.
>>1108296Прошу пруфы на наличие достижений. Наверное, раз уж капитализды копротивлялись, то FSF достигло больших успехов?
>>1108298<sarcasm>Видишь ли, Пролог он для Высшего Блага, а не для приложений. Да и вообще само слово "приложение" подразумевает какую-то порочную утилитарность и зависимость от предмета, что конечно же не подобавет таким трансцендентным вещам, как Пролог.А тут еще гаденькие жидорептилоиды придумали свой мерзкий SQL.</sarcasm>
>>1108304>А тут еще гаденькие жидорептилоиды придумали свой мерзкий SQLКоторый настолько охуенный, что им принято только через ORM пользоваться, а для написания более или мене сложных запросов все хуярят в процедурном стиле. Ну короче как я понял, ты согласен, что хуйня без задач, в лучшем случае сделать логический DSL для мультипарадигменного языка.
>>1108298читай трагедию про MYCIN, я не шучу, как только стало понятно, что диагностическую медицину можно запросто заменить, так и начали закапывать. и это в 70х уже была работоспособная система.
>>1108304>свой мерзкий SQLташемто сравнивать эс с скюл некорректно
>>1108306Я полагаю, что логическое программирование, исходя из его названия, должно быть каким-то образом связано с логикой и, следовательно, люди, занимающиеся апологией этой парадигмы, также должны иметь о ней хоть какое-то представление.>ты согласенСобсна, на этом дискуссию можно заканчивать. Гасить твой религиозный запал я не собираюсь.
>>1108313Я торжественно засчитываю твой слив, так как аргументы у тебя закончились и ты перешёл на личности. Самое смешное, что допуская половину существующих logical fallacies в посте из трёх строчек ты ещё что-то вскукарекиваешь про логику.
>>1108237А на деле "многих" - означает примерно для 5 из 1 000 000 000 задач. Очнись, пролог устарел лет на 40.
>>1108227 (OP)>Почему сейчас никто не пишет на таких языках программирования как Пролог и не перенимает его синтаксические структуры в другие языки?http://www.datomic.com/Размораживайся.
>>1108309Тогда почему сейчас не закапывают нейроночки?
>>1108387Пролог нихуя не устарел, ведь по сути он является декларативным языком, а сейчас все к тому и идет.
>>1108309Ее закопали, потому что она нихуя никого заменить не могла, а могла бы только убивать людей ошибочными диагнозами.
>>1108237Пишется то она быстро, а вот считается долго, потому что комп там развернет все предикаты в миллиард итераций цикла перебора, например.И кстати Пролог используется в геймдеве, вот тут например скрипты для РПГ на нем делают http://www.gamedev.ru/job/forum/?id=215055
>>1108432Всякие задачи связанные с перебором решаются очень быстро, так как не нужно для каждой задачи программировать соответствующий алгоритм поиска с возвратом (backtracking).В прологе так же есть библиотека constraints. С её помощью можно решать задачи линейной оптимизации в несколько строк с очень высокой производительностью. Изготовление решалки судоку, при этом занимает всего несколько десятков строк, и состоит из описания правил этой игры в виде уравнений.
>>1108309>MYCIN>Исследования, проведенные в Stanford Medical School, обнаружили, что MYCIN предлагает приемлемую терапию примерно в 69 % случаев, что лучше, чем у экспертов по инфекционным болезням, которых оценивали по тем же критериямну вот а вы еще говорите, что моя идея мед. диагностики на на нейронках ГЛУПА.
>>1108390Их просто стало не возможно больше скрывать, да и профитов от них несоизмеримо больше
>>1108485>что моя идея мед. диагностики на на нейронках ГЛУПАда, и тебе уже объяснили >>1108432>а вот считается долго, потому что комп там развернет все предикаты почему нейронки не подходятнет, ты не прав. там нет циклов и вычислений, там магия rete
>>1108507>почему нейронки не подходятанону сверху
>>1108507дурачок, MYCIN писалось в 70х. тогда не было современной мощности ПК
>>1108510>современной мощности ПКнинужны, все реализуемо в технологиях 70-80
>>1108485Человек-врач видит тупо больше параметров, чем нейронка. Плюс все эти базы знаний надо чтобы кто-то заполнил.
>>1108510Более того, это и не искусственный интеллект.Там тупо цепочки «if/elseif/elseif/elseif/else», как в посралле.
>>1108670И кто вам сказал, что это начали закапывать? На информационные системы в медицине тратят огромные деньги, врачи собирали статистику ещё в 90-е, сбивали её в M$ Access, я сам такое программил, и систем этих тогда уже были сотни в одном ДС.
>>1108671Т.е. в 1998 они были в каждой больнице: кто поступил, анамнез/диагноз, что делали, сколько после этого прожил и т.д.Врачи звонили пациентам домой, и вбивали данные в свои самопальные (тогда ещё) базы, а сейчас из них постепенно собирают большие базы. Это всё платное, разумеется. Никто их не закапывает.
>>1108670>Там тупо цепочки «if/elseif/elseif/elseif/else», в голосяндру со школотрона, знакомо ли тебе слово продукция?
>>1108671>M$ Accessи что? причем тут эс, если никаких заключений не выводилось
>>1108292Вот когда запилишь свой логический попенсорсный язык, который бы показывал себя лучше в задачах, тогда и приходи
>>1108728>приходиКуда и зачем?
>>1108748>зачемпоебаца
>>1108227 (OP)>А почему кстати все забыли о такой многообещающей парадигме программирования как логическое программирование?А SQL это разве не оно?
>>1108227 (OP)Все задачи, решаемые прологом, можно решить на любом другом языке с соотвествующей библиотекой.
>>1108227 (OP)Что именно на нем можно создать? Приведи пример. Я уверен , что к нему даже include'ров под всякие свистели и перлелки днём, с огнем не сыщешь. Представь, что перед тобой задача создать простенькое приложение с 3d графикой. Как Gl 3D будешь инициализировать?
>>1114950> Это следствие низкой популярности. OP и спрашивает причину оной.
>>1114950>Что именно на нем можно создать? Приведи пример.Ну вот например у тебя есть задача сделать решатель головоломок судоку. Как ты её решишь на яве, питоне, пхп или c? Тебе придется запрограммировать backtracking (поиск с возвратом). Т.е. сначала программа пытается поставить 1 в первую свободную ячейку и проверяет, соблюдаются ли все судоку-правила, если нет то на это место ставится 2 и так пока первое число не будет подобрано. Потом аналогичным образом проверяется вторая пустая ячейка. Если в неё не подходит ни одна из цифр от 1 до 9, то программа возвращается в первую ячейку и пробует подобрать следующую цифру. Всё это продолжается до тех пор, пока все цифры не будут подобраны. В прологе же backtracking реализован на уровне языка, и тебе уже не нужно самому программировать этот backtracking, а достаточно только математически описать судоку-правила, которых совсем не много. Еще пролог очень хорошо решает задачи на составление различных расписаний. Т.е. к примеру тебе нужно составить план уроков в большой школе, причем таким образом, что бы соблюдались пожелания как учителей так и учеников. Ну, например, что бы между уроками было как можно меньше окон как для учеников, так и для учителей, и что бы каждый учитель работал не более 8 часов в день, а каждый ученик уходил домой не позже чем через 6 часов после прихода в школу. На других языках для решения этой задачи нужно будет сначала очень хорошо подумать и написать сотни строк кода. На прологе же эта задача опять же решается в несколько строк, путем математического описания необходимых правил, которые должны соблюдаться.
Просто еще один бамп.
>>1108227 (OP)Пролог - это просто машина, которая решает _любую_ задачу перебором с отсечением, и набором правил ты задаешь пространство перебора и оптимизируешь кго отсечениями. Поиск решения перебором - не самый эффективный вариант, поэтому есть смысл применять его там, где более эффективные алгоритмы поиска решения неизвестны, то есть в каких-то исследовательских и прочих маргинальных задачах. Как только задача перестает быть маргинальной, для нее обычно находят более оптимальный путь решения, чем тупой перебор, пишут статью и делают библиотеку. Поэтому Пролог НИНУЖЕН, кроме небольшого количества исследовательских задач.
>>1115181нахуй ты пхп школочмошникам, что то объясняешь?
>>1115937Почему же обязательно пхп? Мне вот как фп-программисту интересно было почитать. В прологе пока не разбирался, но видел много упоминаний.
>>1115932С таким же успехом можно называть полиморфизм\виртуальные методы ПЕРЕБОРОМ, который НИНУЖЕН.
>>1115932Кроме backtracking, т.е. кроме поиска с возвратом, в прологе существуют еще и библиотека constraints. Которая не имеет аналогов в других языках программирования и которая решает многие задачи (в том числе и те, о которых я писал в посте >>1115181) еще более элегантно и быстро, причем быстро пишется не только сам код, но и задача на компьютере считается очень быстро. Суть constraints очень проста и заключается в следующем: 1) программисту необходимо записать все переменные, относящиеся к задаче и записать все числовые значения, которые может принимать каждая из переменных (область применения), т.е. в случае задачи судоку мы имеем 81 переменную, каждая из которых символизирует одну ячейку в этой игре. Придумываем для них названия. Лучше всего для этого подходит нотация aXY, где X - номер столбца, а Y - номер строки. Т.е. a56 - это будет переменная, символизирующая значение в ячейке из 5 столбца и 6 строки. Пишем, что каждая из этих переменных может принимать только значения от 1..9 (псевдокод):a11..a99 = 1..92) Далее описываем правила, т.е. пишем, что числа в каждой строке должны быть уникальны:unique(a11, a21, ..., a91)unique(a12, a22, ..., a92)...unique(a13, a23, ..., a93)Аналогично пишем о том, что числа в каждом столбце должны отличатся, а так же то, что числа в каждом из 9 квадратов так же должны различаться.3) Добавляем известные по условию задачи цифры в некоторые ячейчи:a11 = 5a27 = 3...4) Запускаем функцию поиска ответа и она очень быстро, путем ряда арифметических операций находит нам ответ. Причем никакого backtracking'а (поиск с возвратом) при этом не происходит. Вместо этого программа анализирует ограничения и удаляет значения из области применения каждой из переменных, которые судя по ограничениям точно не подходят.
>>1115953>фп-программистуну почитай про логическое программирование тогда
пишут, и не только на прологе. Мой семинарист по логике разрабатывает свой ЯП на основе metamath: https://github.com/dmitry-vlasov/russell Но много ли кому нужны такие языки?
>>1116137Земля тебе пухом, язык описания называть языком программирования...
>>1108227 (OP)что хрень на пике делает?
>>1108306> Который настолько охуенный, что им принято только через ORM пользоваться, а для написания более или мене сложных запросов все хуярят в процедурном стилеЕсли макаки не умеют пользоваться эскьюэлом и поэтому хуярят в процедурном стиле, то это их проблемы. В 99.999% случаев всё, что нужно, можно выбрать эскьюэлом.
>>1108306>им принято только через ORM пользоватьсяТолько у веб-макак и прочих крудошлепов.
>>1116148Иди сикп читай, школота.
>>1116137Он не с Украины случайно?
>>1116197Нет
>>1116177Cудя по ключевому слову pareto, что то связанное со статистикой и теорией вероятности.
>>1108227 (OP)Использую, как средство для прототипирования (ии в компьютерных играх). Брат жив, зависимость есть. Хочу попробовать в продакшене, но сейчас у меня нет времени для риска. Также присматриваюсь к Mercury (это диалект пролога), на оф. сайте утверждают, что производительность в разы выше.Вообще, многие не знают, но пролог, как и лисп, обладает свойством homoiconicity, имея при этом гораздо более удобный и читаемый синтаксис. Было бы интересно посмотреть на настоящий процедурный/функцональный язык с синтаксисом пролога.
>>1115954Ну если ты дебил, то да. А так виртуальные методы - это просто косвенная адресация, никакого отношения к перебору не имеющая.
Drools дает пасасать оопблядям
>>1118234Вот этот анон начал что-то подозревать.
>>1108293Какая же ты сука.На 3.мимо проходил
>>1108227 (OP)Потому что логику как ядро математики и научного описания мира закопали ещё в 19 веке, сразу после геометрии. Только у геометрии в 20 появился шанс вернуться, а у логики до сих пор нет.
>>1118873Я про геометрию не понял. Каким образом закопали геометрию в 19 веке? Какой шанс появился у неё в 20-ом?
>>1118929Да пиздеж это все. Пусть он еще про физику Ньютона расскажет.
>>1108227 (OP)ЛП не забыли, у живых ЯП как правило есть библиотеки, допиливающие ЛП, а у монопарадигменных рассово-чистых языков очень узкое применение.
Большинство мейнстримовых языков относятся к третьему поколению. Четвёртое это DSL. Пятое это декларативные языки:> the user only needs to worry about what problems need to be solved and what conditions need to be met, without worrying about how to implement a routine or algorithm to solve themПролог пожалуй тем и интересен.
>>1127864Декларативность - это не дискретное понятие. Язык может быть более или менее декларативным относительно других языков в отношении конкретной задачи.То есть еще не факт, что на твоей задаче кастомный дсл будут менее декларативным, чем пролог общего назначения.