05.07.2012 01:19, Artem Chuprina пишет: > Артём Н. -> debian-russian@lists.debian.org @ Wed, 04 Jul 2012 22:06:17 > +0400: > > >> АН> Да, кстати, Пролог я не понимаю. :-( > >> > >> [...] > >> > >> АН> И на практике: будь всё так хорошо, как вы пишите, все бы уже давно > >> АН> писали на Прологе (по крайней мере, знали бы что это такое). :-) > >> Ну ведь ты же сам написал, что ты его не понимаешь. Думаешь, ты один > >> его не понимаешь? > АН> Если был он был такой хороший, его бы понимали. Потому что, за это > АН> бы платили. :-) И этому учили. C ничуть не проще, чем Пролог. Он > АН> просто имеет другую парадигму. "Развёрнутую" на 180. У машины > АН> вывода есть свои недостатки, ограничения и своя область > АН> применения. По какой-то совокупности причин, Пролог не нашёл > АН> широкого применения (хотя к нему интерес то падал, то > АН> возобновлялся). > Понятность среднему хомосапиенсу, как и всякое другое качество, не > бывает бесплатной. И отнюдь не на всех задачах оно важно. Если средний > хомосапиенс не может понять саму задачу, то понятность ему инструмента > для ее решения ценности не имеет. Хм... И про какие задачи, которые выше понимания среднего, идёт речь? Т.е. где сейчас реально используются Пролог системы?
> >> Потому что правила > >> рассуждений с этими законами правильны настолько, насколько правильна > >> математика (если ты знаешь, что именно формулируется в теореме Геделя, > >> то ты понимаешь это условие). > АН> Думаю, что частично понимаю. > АН> Пролог - аксиоматическая система. > АН> И, следовательно, любая система, построенная в нём, - такая же. > АН> Т.е., если "И" - аксиома Пролог, которая задаёт истинность А и Б, при > истинности > АН> и А, и Б, все аксиомы, заданные на её основе будут истинны в границах > данной > АН> системы. > АН> Доказательство истинности этой аксиомы и непротиворечивости правил её > АН> взаимодействия с остальными относятся к доказательству истинности и > АН> непротиворечивости Булевой алгебры. > АН> В данном случае, математика правильна априори. > АН> Так? > Последнее предложение неверно. Скажем так, мы верим, что математика > правильна (в том смысле, что доказанный в ней результат о некоторой > модели можно в рамках ограничения этой модели применить к реальности). > Гедель нам доказал, что ни на что, кроме веры, мы не можем тут > положиться даже на предмет ее внутренней непротиворечивости, не говоря > уж о применениях к реальности. Я понимаю, что Гедель показал это для формальной системы, которой является математика. Но, если используется Пролог, то решается практическая задача. В таком случае, математика используется потому, что она работает. Т.е. предполагается, что она верна? Это аксиома. :-) > >> А вот как соотносится твоя модель, > >> выраженная в нелогических аксиомах, с реальностью - это уже не к > >> Прологу. > АН> Но в точности тоже самое возможно сказать и о других языках. А > АН> тесты нужны именно для того, чтобы проверить соответствие модели и > АН> реальности. Там тоже самое, даже такие же побочные эффекты могут > АН> быть. И программа, на нём написанная не является правильной только > АН> потому, что она написана на Пролог. Просто тестами надо покрывать > АН> факты и правила, а не функции и процедуры или я не прав? > > В выводе - да, прав. Но надо учитывать, что большинство наших тестов > для других языков таки работают внутри модели, а не проверяют ее > соответствие реальности. То есть для прологовской программы не имеют > смысла. Природа тестов для прологовской программы должна быть > существенно иной, нежели привычно. Хм... А как тест может работать не внутри модели? Программа - модель. Даже, если тест получает данные извне, он всё-равно работает в данной модели. Чем тут отличается Пролог от императивного языка, например? Здесь я просто вижу те же самые ошибки человека: неверное задание правил (неполнота, неточность или ошибочность) и неверное задание фактов. Что и должны покрывать тесты. Ведь так? > ООП лучше, чем ничего, для решения задачи, в постановке которой > структура отлавливается, но плохо. Как только структура отлавливается > лучше - можно найти что-то лучшее, чем ООП. Вон в базах данных > реляционная модель напрочь задавила всех предшественников, кроме > нескольких нишевых мест, где другие модели оказались откровенно лучше. > Потому что концепция отношения, когда ее удалось выделить на задачах > обработки табличных данных, оказалась более специфической, а потому > более полезной. Остатки, т.е. задачи, на которых она была хуже, в своих > нишах сохранились - электронные таблицы, хэши и кое-как разномастные > деревья. Хм... Т.е., она так популярна именно потому, что специфична для задачи - хранения данных (в большинстве случаев)? Любопытно: а для написания кода возможно выделить такую же специфическую концепцию? -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4ff5b92d.4070...@yandex.ru