[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Несколько вопросов вразброс



05.07.2012 01:19, Artem Chuprina пишет:
> Артём Н. -> debian-russian@lists.debian.org  @ Wed, 04 Jul 2012 22:06:17 +0400:
> 
>  >>  АН> Да, кстати, Пролог я не понимаю. :-(
>  >> 
>  >> [...]
>  >> 
>  >>  АН> И на практике: будь всё так хорошо, как вы пишите, все бы уже давно
>  >>  АН> писали на Прологе (по крайней мере, знали бы что это такое). :-)
>  >> Ну ведь ты же сам написал, что ты его не понимаешь.  Думаешь, ты один
>  >> его не понимаешь?
>  АН> Если был он был такой хороший, его бы понимали. Потому что, за это
>  АН> бы платили.  :-) И этому учили. C ничуть не проще, чем Пролог. Он
>  АН> просто имеет другую парадигму. "Развёрнутую" на 180. У машины
>  АН> вывода есть свои недостатки, ограничения и своя область
>  АН> применения. По какой-то совокупности причин, Пролог не нашёл
>  АН> широкого применения (хотя к нему интерес то падал, то
>  АН> возобновлялся).
> Понятность среднему хомосапиенсу, как и всякое другое качество, не
> бывает бесплатной.  И отнюдь не на всех задачах оно важно.  Если средний
> хомосапиенс не может понять саму задачу, то понятность ему инструмента
> для ее решения ценности не имеет.
Хм... И про какие задачи, которые выше понимания среднего, идёт речь? Т.е. где
сейчас реально используются Пролог системы?

>  >> Потому что правила
>  >> рассуждений с этими законами правильны настолько, насколько правильна
>  >> математика (если ты знаешь, что именно формулируется в теореме Геделя,
>  >> то ты понимаешь это условие).
>  АН> Думаю, что частично понимаю.
>  АН> Пролог - аксиоматическая система.
>  АН> И, следовательно, любая система, построенная в нём, - такая же.
>  АН> Т.е., если "И" - аксиома Пролог, которая задаёт истинность А и Б, при истинности
>  АН> и А, и Б, все аксиомы, заданные на её основе будут истинны в границах данной
>  АН> системы.
>  АН> Доказательство истинности этой аксиомы и непротиворечивости правил её
>  АН> взаимодействия с остальными относятся к доказательству истинности и
>  АН> непротиворечивости Булевой алгебры.
>  АН> В данном случае, математика правильна априори.
>  АН> Так?
> Последнее предложение неверно.  Скажем так, мы верим, что математика
> правильна (в том смысле, что доказанный в ней результат о некоторой
> модели можно в рамках ограничения этой модели применить к реальности).
> Гедель нам доказал, что ни на что, кроме веры, мы не можем тут
> положиться даже на предмет ее внутренней непротиворечивости, не говоря
> уж о применениях к реальности.
Я понимаю, что Гедель показал это для формальной системы, которой является
математика.
Но, если используется Пролог, то решается практическая задача. В таком случае,
математика используется потому, что она работает. Т.е. предполагается, что она
верна? Это аксиома. :-)

>  >> А вот как соотносится твоя модель,
>  >> выраженная в нелогических аксиомах, с реальностью - это уже не к
>  >> Прологу.
>  АН> Но в точности тоже самое возможно сказать и о других языках.  А
>  АН> тесты нужны именно для того, чтобы проверить соответствие модели и
>  АН> реальности.  Там тоже самое, даже такие же побочные эффекты могут
>  АН> быть.  И программа, на нём написанная не является правильной только
>  АН> потому, что она написана на Пролог. Просто тестами надо покрывать
>  АН> факты и правила, а не функции и процедуры или я не прав?
> 
> В выводе - да, прав.  Но надо учитывать, что большинство наших тестов
> для других языков таки работают внутри модели, а не проверяют ее
> соответствие реальности.  То есть для прологовской программы не имеют
> смысла.  Природа тестов для прологовской программы должна быть
> существенно иной, нежели привычно.
Хм... А как тест может работать не внутри модели? Программа - модель. Даже, если
тест получает данные извне, он всё-равно работает в данной модели.
Чем тут отличается Пролог от императивного языка, например?
Здесь я просто вижу те же самые ошибки человека: неверное задание правил
(неполнота, неточность или ошибочность) и неверное задание фактов.
Что и должны покрывать тесты.
Ведь так?

> ООП лучше, чем ничего, для решения задачи, в постановке которой
> структура отлавливается, но плохо.  Как только структура отлавливается
> лучше - можно найти что-то лучшее, чем ООП.  Вон в базах данных
> реляционная модель напрочь задавила всех предшественников, кроме
> нескольких нишевых мест, где другие модели оказались откровенно лучше.
> Потому что концепция отношения, когда ее удалось выделить на задачах
> обработки табличных данных, оказалась более специфической, а потому
> более полезной.  Остатки, т.е. задачи, на которых она была хуже, в своих
> нишах сохранились - электронные таблицы, хэши и кое-как разномастные
> деревья.
Хм... Т.е., она так популярна именно потому, что специфична для задачи -
хранения данных (в большинстве случаев)?
Любопытно: а для написания кода возможно выделить такую же специфическую концепцию?


Reply to: