LINUX.ORG.RU

Зачем нужны були?

 , ,


0

3

Поставил тег лисп просто потому, что лисперы, в отличии от, возможно заинтересуются, или уже интересуются этим вопросом, однако, это касается программирования вообще.

Все знают, наверное, lambda-like определение if-then-else. Вот один из вариантов:

(define t (lambda(x y) (x)))
(define f (lambda(x y) (y)))
(define if_ (lambda(a b c) (a b c)))

(if_ t (lambda() (write 'foo)) (lambda() (write 'bar))) ; foo
(if_ f (lambda() (write 'foo)) (lambda() (write 'bar))) ; bar
Тут есть даже псевдо-лень, как видим, причом безо всякой меты.

Что тут бросается в глаза в первую очередь? То, что if тут является пятым колесом. Он ничего не делает, и, по сути, нахер не нужен.

(t (lambda() (write 'foo)) (lambda() (write 'bar))) ; foo
И тут возникает вопрос: а при чем тут вообще логика? Мы ведь можем t заменить любой другой ф-цией, которая будет делать что-то другое, например, складывать результаты. Это обычная ф-ция, как и миллионны других. Абсолютно очевидно, что для програмирования були-свистули — это просто сахар, который не имеет отношения к программированию. Логика программы находится в голове программиста, а не в тексте программы.

Откуда это все пошло? Думаю, основная причина — в засилии математического быдла в отрасли, на заре CS. Они подогнали все под свои извращенные стандарты, притянули за уши математику и логику, а теперь, нормальные пацаны вынуждены разгребать за ними кучу говна, в отчаянных попытках отделить зерна от плевел.



Последнее исправление: anonimous (всего исправлений: 2)
Ответ на: комментарий от Kuzy

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

anonymous
()
Ответ на: комментарий от anonimous

И все таки, почему тогда там внизу написано

Смысл парадокса Рассела не в том, что есть множество которое одновременно что-то и содержит и нет, а в том, что мы строим множество, которого не может существовать (тот факт что его не существует как раз и следует из того что оно если бы существовало то содержало бы элемент, которого не содержит).

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

То есть к противоречию приводит именно тот факт, что совокупность всех множеств объявляется множеством. Дальнейшая конструкция лишь делает противоречие очевидным.

anonymous
()
Ответ на: комментарий от emulek

однако и непротиворечимость ZFC тоже недоказуема.

Ну и что?

anonymous
()
Ответ на: комментарий от aedeph_

Это уже не первый раз. Я уже тут, скоро придет quasimoto и мы обсудим категорные семантики, на чем тред и закончится.

anonymous
()
Ответ на: комментарий от anonymous

Мы в ней можем объявить множеством любую совокупность.

«Пусть K — множество, содержащее число 2 и не содержащее число 2». Такое K в наивной теории множеств существует?

monk ★★★★★
()
Ответ на: комментарий от anonymous

То есть к противоречию приводит именно тот факт, что совокупность всех множеств объявляется множеством.

А мне всегда казалось, что ссылка «себя». Как в классическом парадоксе лжеца: «Это утверждение ложно» не ложно и не истинно.

А определять что-либо произвольным предикатом можно, но никто не гарантирует, что получится что-либо существующее. «Число, которое больше любого натурального числа» определяется, но не существует.

monk ★★★★★
()
Ответ на: комментарий от anonymous

совокупность всех множеств объявляется множеством

Ну пусть у нас есть всего 10 множеств. Определим первое из них как множество тех (из 10), которые не содержат себя. Пойдёт как описание парадокса?

monk ★★★★★
()
Ответ на: комментарий от aedeph_

Пора запилить шаблон сообщения, кастующего всех ЛОРовских ебанатов!

anonymous
()
Ответ на: комментарий от monk

«Пусть K — множество, содержащее число 2 и не содержащее число 2». Такое K в наивной теории множеств существует?

Такой совокупности не существует. То есть

Не существует такого Х, что (х in X) && !(x in X). А раз такого Х не существует, то вопрос того, чем это Х является (множеством, немножеством или еще чем) не имеет никакого смысла.

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

anonymous
()
Ответ на: комментарий от monk

Ну пусть у нас есть всего 10 множеств. Определим первое из них как множество тех (из 10), которые не содержат себя. Пойдёт как описание парадокса?

А в чем отличие от расселовского? Ты опять говоришь «возьмем множество всех множеств, не содержащих само себя», какая разница, сколько ты таких множеств положил в изначальную совокупность? Проблема в том, что ты эту совокупность объявил множеством.

anonymous
()
Ответ на: комментарий от monk

Как в классическом парадоксе лжеца: «Это утверждение ложно» не ложно и не истинно.

Нет, конечно же, это не так. Парадокс лжеца никак не связан с парадоксом Рассела. Парадокс лжеца просто нельзя вообще сформулировать - нету корректного терма, который бы ему соответствовал, а вот «Х, такой, что не содержит Х» - вполне корректный терм. Пустое множество не содержит само себя. Натуральные числа не содержат сами себя. Да вообще любое множество - не содержит само себя (по аксиоме регулярности). Если бы проблема была в самореференции - то мы бы аксиому регулярности просто не могли сформулировать.

anonymous
()
Ответ на: комментарий от anonymous

Проблема в том, что ты эту совокупность объявил множеством.

Совокупность множеств я могу объявить множеством по аксиоме пары. То есть определение: «первое множество содержит все 10 указанных множеств» вполне корректно. Или ты не про ZFC сейчас? Тогда какая аксиоматика?

monk ★★★★★
()
Последнее исправление: monk (всего исправлений: 1)
Ответ на: комментарий от monk

Совокупность множеств я могу объявить множеством по аксиоме пары.

Нет, не можешь.При чем тут вообще аксиома пары?

То есть определение: «первое множество содержит все 10 указанных множеств» вполне корректно.

Конечно, корректно - будет, когда ты укажешь «10 указанных множеств». Если же ты берешь 10 КАКИХ-ТО произвольных множеств - то ты уже не вправе требовать, чтобы эти множества удовлетворяли каким-то условий (раз они произвольные). Ты не предоставил способа построения, такие дела.

anonymous
()
Ответ на: комментарий от anonymous

Конечно, корректно - будет, когда ты укажешь «10 указанных множеств»

OK. Пусть будет три множества. A = {1}, B = {1}, C = {x | x ∈ {A, B, C} ∩ not x ∈ {x}}

Хотя аксиома регулярности запрещает множеству включать себя. То есть. «Есть 10 множеств, первое из них включает эти 10 множеств» в ZFC не существует.

monk ★★★★★
()
Ответ на: комментарий от monk

OK. Пусть будет три множества. A = {1}, B = {1}, C = {x | x ∈ {A, B, C} ∩ not x ∈ {x}}

ты имел ввиду not x ∈ x? Тогда С = {A, B} и в чем проблема?

Хотя аксиома регулярности запрещает множеству включать себя. То есть. «Есть 10 множеств, первое из них включает эти 10 множеств» в ZFC не существует.

Ну да, не существует. И методов его потрсоения ZFC не предоставляет (в отличии от множества всех множеств в наивной). Противоречия нет, дальше что?

anonymous
()
Ответ на: комментарий от anonymous

какая разница, сколько ты таких множеств положил в изначальную совокупность

Есть разница. По определению, это должно быть множество ВСЕХ множеств, которые не содержат сами себя. Если мы берем ограниченное количество, то множество всех множеств не обязано входить в себя, оно, по определению, обязано туда входить именно потому, что это множество Всех множеств не содержащих себя. Иначе никакого парадокса нет.

anonimous
() автор топика
Ответ на: комментарий от anonimous

Есть разница.

Нет разницы.

это должно быть множество ВСЕХ множеств

Именно. И какое это будет количество - одно, сто, пицотыщ, мильон - не важно совершенно. Это уточнение абсолютно ни на что не влияет.

anonymous
()
Ответ на: комментарий от Kuzy

Такая запись корректна { x | |x| = 0 }? Или нужно явно указывать откуда x, и только потом предикаты?

В ZFC нужно явно указывать, что и снимает парадокс.

anonymous
()
Ответ на: комментарий от anonymous

нужно явно указывать

При этом нужно еще доказать что это указанное множество-универсум - действительно существует. И только потом уж мы можем его использовать для выделения.

anonymous
()

fb

fuxterz@gmail.com

http://fuxter.blogspot.ru/2010/05/blog-post_25.html

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

anonymous
()
Ответ на: комментарий от anonymous

Что-то у меня не получается сделать вывод.

Анонiмус = раньше фухтер, а теперь Мозгунов Андрей Александрович?

anonymous
()

причом

Голосую за лишение тебя звезды.

bluesman
()
Ответ на: комментарий от Legioner

ТС с лисп-машины пишет, не иначе

anonymous
()
Ответ на: комментарий от anonymous

Казалось бы, причем тут пыхоплеяда?

anonymous
()
Ответ на: комментарий от emulek

<були не нужны, есть лямбды>

<лямбды не нужны, есть brainfuck>

Brainfuck не нужен, есть обычная машина Тьюринга.

Машина Тьюринга не нужна, есть машина Поста.

Но и она не нужна, когда есть такие классные грибы, как у ТС.

t184256 ★★★★★
()
Ответ на: комментарий от slackwarrior

На самом деле, программисты тоже люди, и если человека всё заставить делать только членом, наверное он справится. Вопрос — нужно-ли это?

Это тред про хлопок одной рукой?

Да вроде про член...

t184256 ★★★★★
()
Ответ на: комментарий от anonimous

[troll_mode]Достаточно 1 и 0 (в конечном счёте на жестком диске всё так и выглядит - единицы и нули). Всё остальное от лукавого. )))[/troll_mode]

peregrine ★★★★★
()
Ответ на: комментарий от emulek

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

anonymous
()
Ответ на: комментарий от anonymous

Теперь-то, надеюсь, они увидят, что твои советы ничего не стоят и ты не можешь захостить даже свой высер по седу.

обосраться и не жить.

emulek
()
Ответ на: комментарий от anonimous

«Запомни, сынок, я никогда ни у кого ничего на вооружение не беру. В целом, твое собщение, в стиле «сам такой» недостойно внимания, ты не оппонент мне, поэтому промолчу.»

Иногда лучше жевать, чем говорить. Ты говоришь бред, тебе на это указали. Логика программы - она в коде. Чтобы там не держал программист в голове, программа будет работать, как это записано в ее тексте.

anonymous
()
Ответ на: комментарий от anonymous

Золотце никого не оскорблял, на агрессию постил милых девочек. Хоть и тролль он, но матчасть знал хорошо.

anonymous
()
Ответ на: комментарий от anonymous

Золотце никого не оскорблял

Кроме жидоматематиков.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.