LINUX.ORG.RU
ФорумTalks

дурное влияние лиспа

 ,


0

2

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

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

Почему идея эквивалентности кода и данных соблазнительна для программиста? Это идет от инертности бытового и математического мышления. Человек всегда склонен искать какую то псевдовизуальную опору. Ему хочется думать о сущностях как о чем то осязаемом. Так для лиспера, например, точечная пара, это структура, которую можно «увидеть» в каком то таком вот (a . b) представлении, и когда он производит какие то манипуляции в коде с этой структурой, эта визуализация постоянно маячит у него в голове. Он думает о сущности pair ни как подобает о ней думать — как о черном ящике с каким то поведением, а как о этой вот хрени, которая выводится в терминал. Это вообще свойственно программистам, нужна визуальная опора. У многих понятие «объект» или «класс» ассоциировано с какой-то отрисованной таблицей. Фишка в том, что, так называемое «состояние» является лишь частным случаем поведения, и когда мы пишем (print '(a b c)), например, мы получаем не форму, и не состояние объекта, а лишь его внешнее представление, некое отображение средствами IO, что является частным случаем поведения. Настоящий объект — это что-то вроде кантовской «вещи в себе», он не осязаем и не видим. Можно реализовывать или менять его поведение, но его нельзя «увидеть» иди «пощупать»

Ничего кроме поведения у объекта нет. Поэтому, не может быть никакой эквивалентности кода и данных. Нет данных. То что принято называть данными — есть лишь частный случай поведения. Эта инертность мышления ведет к тому, что программист не может отцепится в своем уме от сиськи — связывания внешнего представления объекта и сущности этого объекта. Он таскает этот якорь с собой до конца дней.

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

Перемещено tailgunner из development



Последнее исправление: portquest2016 (всего исправлений: 1)

Я кажется понял тебя - ты хочешь кнопки самозабана?

ados ★★★★★
()

Ого, дебил анонiмус еще живой. Бюджетник видать, держится пока. Хорошо хоть царь с голоду помер.

anonymous
()

действительно- это самое важное и без разницы работает код или нет можешь нарисовать круг или нет. главное не смешивать код и данные

anonymous
()

ЯЗАБАН, покушаешься на святыню! ИМХО, самомодифицирующийся код цветет и пахнет, от скриптоты lua и до монстров как sbcl, так что эквивалентность работает.

timdorohin ★★★★
()

Не знаю в чем смысл вообще об этом задумываться, но для меня главное у языка - это его библиотеки. Идеальный замечательный язык без библиотек - не нужен.

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от timdorohin

Я считаю, что модифицируется объект, а не код. То есть, меняется поведение. Код всегда остается тем чем он и является де-факто: исходным кодом, средством, инструментом реализации поведения, не более того.

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

Че-то после веселых выходных не понимаю,чем один набор байт отличается от другого, кроме их значений, разумеется. В конце концов ВСЕ в компе представлено двоичными числами.

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

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

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

Philosopher-bot, самовыложись на гитхаб, а то у тебя какие-то баги в логическом модуле :)

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

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

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

Хорошо хоть царь с голоду помер.

Нет, просто в старших классах домашки намного больше задают.

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

Смотря что ты подразумеваешь под этим. Круг так же как и текст, имеет внешнее представление — отрисованные пиксели на мониторе. Сам же актор «круг» — это черный ящик, имеющий только поведение

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

один раз забанили?
один раз
один

Мухахахахаха

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

У тебя где-то логика сбоит. То низкоуровневое представление - байты, «плохое», то высокоуровневое - универсальные объекты «плохое»...

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

я как раз это не приемлю. Вообще, слово объект не вполне корректно, я предпочитаю слово «актор». Данные — частный случай акторов. Это не разные вещи

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

Оторваться от сиськи матери нужно для того, чтобы припасть к сиське(ам) матери(ей) своих детей. Чем больше денег - тем больше выбор сисек или их количество, в зависимости от культуры или личного профиля. Так что кошелёк это не роскошь - а средство перемещение между сиськами.

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

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

я как раз это не приемлю.

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

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

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

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

В моей параллельной вселенной - без библиотек ни туды и ни сюды ;)

В десятом классе школы мне было не важно наличие библиотек у языка, но уже в 11-м классе понял что это всё же важная вещь :)

I-Love-Microsoft ★★★★★
()
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)

Радиостанция «Голос шизофрении» продолжает свое вещание.

thesis ★★★★★
()

какой-то дебил: сначала упрекает что программист воспринимает «объект» как поведение (визуальное представление), а потом сам же заявляет, что «ничего кроме поведения у объекта нет»

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

а чё за история с кругом? а то лень искать, да и не помню все его ники

anonymous
()

при чём тут лисп? как раз лисп создавали те ещё теоретики, у которых с абстрактным мышлением всё в порядке. а ты вещаешь про предметное мышление, которое свойственно многим, как правило, не очень развитым, людям. ну, что ж поделать! в профессию пришли дешёвые кустари, у которых нет профильного образования и аналитического и алгоритмического мышления. но лисп тут какбэ ни при чём. при чём тут падение уровня образования и отчасти сами программисты виноваты: наплодили визуальщины, которая дала нубам видимость, что они «тоже могут программировать». получили вполне закономерный результат.

Iron_Bug ★★★★★
()

В целом согласен с автором.

CARS ★★★★
()

Перемещено tailgunner из development

тонко

registrant ★★★★★
()

Две книжки по теории типов этому автору.

Softwayer ★★
()

Безусловно, модель акторов можно выразить как круг, который легко рисуется средствами JavaScript.

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

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

Вот только такой подход хорош, если ты живёшь в идеальном мире, и пишешь программы для идеальных компьютеров. У систем есть память, есть способы выражения информации, есть логика поведения. В человеческой голове тоже вместо объекта лишь внешнее представление — лингвистические конструкции, математические абстракции и чувственное восприятие. И от них никуда не деться, при всём возможном желании. В любом из возможных случаев.

Так что идите-ка вы в необихевиористам. Лет эдак на 60 в прошлое. Там вас поймут и сочуственно покивают.

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

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

Тут, в общем то, можно провести параллели. Человек это не представление о человеке. Если он и есть, то как некая нематериальная сущность, но не как внешнее представление, aka повар, слесарь, семьянин и тп. Точно также, можно увидеть, и даже сконфигурировать его поведение, но не возможно увидеть его настоящую суть, которая разворачивается в этом внешнем представлении.

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

Если он и есть, то как некая нематериальная сущность

ну-ка покажи мне «нематериального человека»! хочется посмотреть.

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

ну-ка покажи мне «нематериального человека»! хочется посмотреть.

Ты. Как ты собираешься доказывать, что ты не бот из интернета?

hateyoufeel ★★★★★
()

Опять нананизмус? Да ты утомил уже даже меня, хотя блин, меня утомить сложно. Концепция кода и данных естественны, ну почитай ты хотя бы про то как работают гормоны что ли. Неестественно сильное разделение данных и кода. Однако их разделение есть. В природе, если совсем в общем, это работает так - данные идут от источника до потребителя и как правило содержат в себе код, то есть частично являются кодом. Когда они доходят, то потребитель их исполняет вместе с кодом, который в них содержится. Так работают гормоны, так работает много чего. Это позволяет добиться гибкости. Но разделение есть, потому что если позволить вирусу делать всё что он захочет, то принимающей стороне будет жопа.

Да, грубо говоря данных в том виде в котором мы их понимаем в программировании нет, это скорее код, но опять же, чистых данных в программировании тоже нет, часто данные содержат логику на уровне своей структуры. В общем нанизмус, заколебал ты!

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

Круг - это данные или объект?

Объект.

А окружность — данные.

=)

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

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

Я что-то не понял, чем это противоречит тому что я сказал? Просто надо чуть глубже смотреть. Клетка получает вирус в качестве «сообщения», которое вызывает определенную реакцию, тут все очень похоже на ООП, практически, калька просто. Я слышал, кстати, что на Алана Кея сильно повлияло как раз наблюдение за поведением клеток. Суть в том, что есть некая внутреняя реализация этого процесса(считывание генома вируса, репликация и тп), ты можешь как-бы задаться неким метавопросом: а почему клетка ведет себя именно так а не иначе. Не на уровне просто описания механизмов, а на уровне «почему вообще так а не иначе все происходит». Вот это и есть вещь в себе, поведение клетки, настоящих истоков которого мы не знаем и не узнаем. А то что клетка продуцирует при этом, это уже внешнее проявление.

portquest2016
() автор топика

ТС, ты в одном и том же тексте объясняешь, что код и данные неотличимы, но утверждаешь, что суть в обратном.

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

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

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

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

Сначала надо дать определения, что такое «человек» и что такое «есть».

В человеческой голове тоже вместо объекта лишь внешнее представление — лингвистические конструкции, математические абстракции и чувственное восприятие.

И как это противоречит тому что написано в стартовом посте темы?

Так что идите-ка вы в необихевиористам. Лет эдак на 60 в прошлое. Там вас поймут и сочуственно покивают.

Так, бихевиоризм устарел, ок. А что лучше бихевиоризма?

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

Круг - это данные или объект?

пока что это какой-то концепт у тебя в голове. anonimus не телепат, чтобы узнать что ты подразумеваешь под словом круг.

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

у меня тут была темка про поиск работы. там ссылки на резюме и всё такое. всякие там рекомендации. у ботов обычно нет трудового стажа и рекомендаций :)

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

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

у меня тут была темка про поиск работы. там ссылки на резюме и всё такое. всякие там рекомендации. у ботов обычно нет трудового стажа и рекомендаций :)

Как будто нейросеть нельзя натренировать на составление резюме.

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

Это всё круто, но я тебя вообще нигде кроме ЛОРа не видел. А твои типа друзья тоже могут быть ботами. Короче, хрен ты что докажешь.

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

Вирус это не сообщение. Это данные и код, ну или код, содержащий данные. Во многих случаях взаимодействие идёт в природе именно так. То есть код, содержащий данные передаётся. Принимающая сторона его исполняет в своей среде, так сказать. И там уже зависит от степени изоляции. Ну да, наверное это всё укладывается в рамки сабжа. Но блин, пиши понятнее что ли, раз уж ведёшь тут свой персональный блог:)

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

Короче, хрен ты что докажешь.

ну, тебе-то точно. ты вообще против меня какой-то пунктик завёл и я даже не буду пытаться :) а так у меня в профиле всякая там инфа, для тех, кому интересно вдруг. и большинство людей как раз таки меня знают вовсе не по ЛОРу. но это не имеет значения. я не скрываюсь. я человек старой школы (по нонешним временам) и меня анонимизация ни грамма не прикалывает. хотя сама идея использования ИИ в сети мне интересна, но чисто алгоритмически, а не в плане создания ботов. в ботах я смысла не вижу.

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