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)
Ответ на: комментарий от anonimous

Благодаря моей способности отличать кошку от собаки. Эту способность можно назвать свойством.

т.е. ты можешь сказать о сути данной своей способности не больше, чем вода, о своей способности течь, и говно, о своей способности вонять? Вот и я о том же.

Вода не понимает, почему она течёт, потому что у неё нет мозгов. Так и ты не понимаешь, чем кошка отличается от собаки.

К примеру, сливной бачок не отличит.

сливной бачок == простейший логический элемент наделённый ещё и памятью. Соединив миллионы и миллиарды таких бачков мы получим компьютер. Его можно научить? Имеется ввиду так, что он будет это делать не хуже тебя. Почему-то это ни у кого не получается, экспертные системы есть, они работают, но результаты хуже, чем у олигофрена. У тебя эффектность 146%, в т.ч. и на таких кошках/собаках, которых ты никогда не видел. У компьютера, хвала Патрегу, 80%, но лишь в пределах того, чему его учили.

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

Схема AND работает объективно: если я с тобой договорюсь об устройстве AND, в т.ч. об состояниях 0 и 1, то работа схемы не будет зависеть от того, кто её собирал и тестировал. Это как кошка и собака. Неважно, кто, где и когда проводит эксперимент, результат однозначен. А вот вкус и цвет понятия субъективные, т.к. зависят от субъекта.

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

Вода не понимает, почему она течёт, потому что у неё нет мозгов. Так и ты не понимаешь, чем кошка отличается от собаки.

Не совсем. Вода не понимает потому что у нее нет свойства понимать. Я понимаю, что могу отличить, но не понимаю, как я это делаю, по большому счету.

эффектность

Ты про эффективность в вакууме? Как ты оцениваеь эффективность? И эффективность чего? Если вычислений в широком смысле, то она у компа, также как и у сливного бачка равна 0 и всегда такой будет. Это китайская комната. Спроси у компа, почему люди боятся намокнуть, когда идет дождь? Или спроси у него, если не 1 и не 10 то сколько?

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

если я с тобой договорюсь

Вот это и есть ключевое понятие: логика это предмет конвенций. А железка (читай машина) просто работает.

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

Даже если так, то высказывание вычисляется в истину

это лишь понятие непротиворечивости. Ты забыл про понятие полноты системы.

Твоя система неполна. Для доказательства посмотри на схему триггера из двух NAND.

http://www.labfor.ru/img/leso2_metod/ris2_4.1.png

Во что тут вычисляется результат? Я — не знаю. А схема вполне себе логическая. Т.о. булева алгебра неполна. Хотя и непротиворечива.

Ну да, ещё есть парадокс брадобрея, что собственно(ВНЕЗАПНО!) тоже самое, что и эта схема.

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

Вот это характерная для математика подмена понятий. У меня есть молоток, но нет гвоздя.

ты не учёл того, что имея молоток, нельзя строго вывести форму гвоздя. Мы не знаем _каким_ должен быть гвоздь. Однако, имея лишь 5 аксиом и полукольцо натуральных, мы _точно_ и _однозначно_ дополняем его до кольца целых. Другого кольца из этого полукольца просто не получится. Так, как будто молоток сам определял _точно_ и _однозначно_ каким должен быть гвоздь.

emulek
()

Ты сегодня съел грибов вдвое больше обычного.

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

Теорию Галуа?

а это не теория. Это такое же расширение понятия чисел, как расширение полукольца натуральных в кольцо целых. Оно тоже _однозначно_ (только аксиоматика немного другая, аксиома 3 не работает).

Кстати, так само собой получается. Мне интересны и другие вещи, но вам они неинтересны почему-то.

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

:D

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

ловите наркомана!

+ много

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

Ну да, ещё есть парадокс брадобрея

Парабокс брадобрея, ИМХО, это банальщина и глупость (что не удивительно — ибо автор - Рассел). В формулировке парадокса

Единственному деревенскому брадобрею приказали: «Брить всякого, кто сам не бреется, и не брить того, кто сам бреется». Кто побреет брадобрея?

Ничего не сказано о том, бреется ли брадобрей сам или нет. То, что он бреет других, вовсе не означает, что он бреется сам. Таким образом, это можно «редуцировать» до:

Бреется ли Вася Пупкин самостоятельно, если неизвестно, бреется ли он самостоятельно?

Или даже:

Существует ли Х если неизвестно, сущетсвует ли Х?

Так что, пример не особо удачен.

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

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

Ты не гений никакой, ты обычный неосилятор. Это можно даже сказать по характеру твоих постов. Узнал как на другом языке 2+2 будет и выдаешь тут перлы о том как это банально, вопрошая что же люди в этом нашли. Другой пример твоей узколобости это отрицание того чего ты не понимаешь. Если ты не понимаешь почему и зачем все существует таким образом, ты не светила, а просто тупой. К последнему как аргумент я могу добавить что ты не предлагаешь вообще ничего нового. Ты как двоечник на уроке передергивающий учительницу когда твой скудный разум находит за что зацепится.

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

Парабокс брадобрея, ИМХО, это банальщина и глупость (что не удивительно — ибо автор - Рассел). В формулировке парадокса

Единственному деревенскому брадобрею приказали: «Брить всякого, кто сам не бреется, и не брить того, кто сам бреется». Кто побреет брадобрея?

Это победа.

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

* - на деле, оно обычно инлайнится

Но как оно может заинлайниться в мире, где всё-есть-объект, и нет статической типизации?

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

Вода не понимает потому что у нее нет свойства понимать. Я понимаю, что могу отличить, но не понимаю, как я это делаю, по большому счету.

это всё мелочи. Дело не в «понимании воды», дело в твоём понимании: ты можешь детально описать как течёт вода, и даже составить программу которая показывает, как она течёт(будем считать, что проблемы в суперкомпьютерах у тебя нет). Разница в реальной воде и виртуальной будет сколь угодно малой, и будет стремится к нулю с ростом приложенных тобой сил и мощности твоего вычислителя. С кошками/собаками всё значительно хуже.

Как ты оцениваеь эффективность?

это как раз просто, для этого есть хорошо развитая статистика. На сегодня, экспертные системы отсеивают 99% мусора, и делают это хорошо, выдавая решения из серии «это не собака и не кошка», глядя на фотку с тараканом или Сатурном(и всё равно ошибаются,если на фотке кошка на фоне Сатурна).

Если вычислений в широком смысле, то она у компа, также как и у сливного бачка равна 0 и всегда такой будет.

не. Недавно строго доказано, что 1бит что-то весит. Т.ч. не вся энергия пропадает впустую, немножко идёт на дело. Миллионная доля %% или типа того.

Спроси у компа, почему люди боятся намокнуть, когда идет дождь?

спрошу обязательно. Вот только задача сформулирована в неподходящем виде. Да и сущности «люди» «бояться» неопределенны строго.

спроси у него, если не 1 и не 10 то сколько?

1. если множество ответов бесконечно, то ответ прост: с вероятностью 100% ответ настолько огромен, что даже вселенная не доживёт до вычисления ответа.

2.если множество конечно, то ответ тоже прост: глянь в /dev/random.

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

Нет, там была просьба выразить на этом интерфейсе именнно логическую операцию, это не относится к теме.

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

логика это предмет конвенций.

нет. Мы договариваемся лишь о начальных условиях. А схема работает объективно, т.е. независимо от субъекта-экспериментатора и от чего угодно ещё.

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

Пусть K — множество всех множеств, которые не содержат себя в качестве своего элемента. Содержит ли K само себя в качестве элемента? Если предположить, что содержит, то мы получаем противоречие с «Не содержат себя в качестве своего элемента». Если предположить, что K не содержит себя как элемент, то вновь возникает противоречие, ведь K — множество всех множеств, которые не содержат себя в качестве своего элемента, а значит должно содержать все возможные элементы, включая и себя.

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

о ответ тоже прост: глянь в /dev/random.

Во-первых, random подойдет и в случае бесконечного множества, потому что множество генерируемое им входит в бесконечное множество.

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

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

А ты сможешь доказать, что ты принимаешь самостоятельные решения?

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

Парабокс брадобрея, ИМХО, это банальщина и глупость (что не удивительно — ибо автор - Рассел). В формулировке парадокса

а ты внимательно посмотри на схему триггера, которую я привёл. И увидишь, что «логика» там точно такая-же, как в парадоксе брадобрея. Двойная инверсия замкнутая сама на себя. Только не говори мне, что эти триггеры никому не нужны, из них например состоят регистры и кеши CPU. Брадобрей просто баба. Был-бы он мужиком, и принял-бы решения, парадокса-бы не было. Мало того, он смог-бы сам менять своё решение по своему произволу, оставаясь в рамках приказа.

Так что, пример не особо удачен.

просто ты его не до конца понимаешь. На самом деле, пример эквивалентен вопросу: как упадёт идеально тонкая монетка поставленная идеально ровно без воздействия внешних сил? Или скорее(в случае брадобрея) как упадёт хрен знает какая монетка, хрен знает куда поставленная?

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

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

ага. Методом тупого перебора. Это разве достижение?

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

Пусть K — множество всех множеств, которые не содержат себя в качестве своего элемента...

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

Было бы это парадоксом с формулировкой «Пусть K — множество содержащее число 2 и не содержащее число 2, ... (далее по тексту)»?

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

твой комп без твоего ведома, самовольно, не полезет в рандом

Э? Ты всегда-всегда знаешь, когда твой комп лезет в рандом?

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

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

компьютер может лезть в /dev/random 1 раз в секунду.

Если там 0, то решение: не лезть в /dev/random

Если 1, то лезть.

ВНЕЗАПНО: Решение принято самостоятельно, без участия человека.

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

Пусть K — множество содержащее число 2 и не содержащее число 2

такого множества тоже не существует. Не вижу парадокса.

emulek
()

Как будто ты общался с математиками. Хоть знаешь чем они занимаются?

Сам-то учился в институте? Или не доучился на вечернем?

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

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

Каким «таким»?

K = {x | x ∉ x}
Так понятней?

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

Я имею в виду, если эта возможность не заложена в нем изначально. Так, при ответе на вопрос: не 1 и не 10 человек может назвать любую цифру, или просто послать нахрен, или промолчать, потому что «правильного» ответа не существует. Машина не может понять этого. Она всегда действует по заранее заложенному алгоритму, поэтому она не может ответить на этот вопрос самостоятельно.

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

Так, при ответе на вопрос: не 1 и не 10 человек может назвать любую цифру, или просто послать нахрен, или промолчать, потому что «правильного» ответа не существует.

Что из этого не может компьютер?

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

Если предположить, что содержит, то мы получаем противоречие с «Не содержат себя в качестве своего элемента».

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

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

В том, что не нужно использовать наивную теорию множеств. В ZF его нет.

молодец, я знаю. И вика знает. Да все уже знают, это уже было в симпсанах здесь.

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

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

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

Машина не может понять этого.

а зачем нужен программист?

Она всегда действует по заранее заложенному алгоритму

4.2

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

во вторых, даже если алгоритм детерминирован, ответ не всегда такой. Метод Монте-Карло может сойтись с первого, может с десятого, аможет с сотого не сойтись.

И что такое «решение»? Пускать/не пускать тебя на ЛОР разве не решение? Что, от модераторов зависит? А ты не зависишь? Запретили пить пиво на улицы — шкерься дома. Запретили халявный интернет? Плати в кассу, и не забудь паспорт предъявить. Чем ты лучше компьютера? Закон нарушаешь? Дык и комп глючит иногда(особенно если начальник тупые приказы задаст).

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

просто ты его не до конца понимаешь. На самом деле, пример эквивалентен вопросу: как упадёт идеально тонкая монетка поставленная идеально ровно без воздействия внешних сил? Или скорее(в случае брадобрея) как упадёт хрен знает какая монетка, хрен знает куда поставленная?

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

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

Испокон веков в смолтоке инлайнят ifTrue:ifFalse.

http://en.wikipedia.org/wiki/Inline_caching

http://clementbera.wordpress.com/2014/08/12/arithmetic-inlined-and-special-se...

На прошедшем ESUG 2014, на котором я имел счатье быть (!), как раз рассказывали про инлайнинг в Cog (JIT)

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

Основания математики могут быть разные, как через теорию множеств, так и конструктивные.

да, но ИМХО конструктивные попроще.

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

И, кстати, да, этот парадокс, в частности, вскрывает порочность и слабость математического и логического подходов. Детерменизм — вот главное ЗЛО. Этот парадокс демонстрирует не частный случай, а ГНИЛЬ, всей системы в целом.

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

Человек сам принимает решения

да ладно! Как амёба, плывёт куда теплее и жрачка. И потрахаться. О каких ты «решениях»? Что ты решил в последний раз?

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

Что есть «воля»? Фактически решение уравнения со многими неизвестными. Воля бросить пить? При чём тут воля, обычный расчёт, будешь пить — сдохнешь, ништяков не будет. Ну или будет меньше.

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

Да, и вот еще что интересно. Как Рассел мог открыть америку, если парадокс

открытый Кантором около 1899 года, (до парадокса Рассела)

демонстрирует

что предположение о существовании множества всех множеств ведёт к противоречиям и, следовательно, противоречивой является теория, в которой построение такого множества возможно.

Это что, так девочки резвятся, или чтозанах?

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

У-у-у-у, всё-ё-ё. До парадокса брадобрея я ещё надеялся, что ты, может, действительно что-то знаешь, а не просто наркоман. Теперь в твоём ГСМ я убедился окончательно и бесповоротно.

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

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

Это не глупо, напротив. Мы никогда не знаем, что будет, увы. Всегда можно принять решение случайно, мы давно для этого Over9000 суеверий придумали. И у компьютера есть random. И функция качества, что такое хорошо, что такое плохо. Да, изначально заданная программистом, но что мешает задать возможность её изменения?

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