LINUX.ORG.RU
ФорумTalks

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

 ,


0

2

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

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

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

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

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

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



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

Ответ на: комментарий от Bad_ptr

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

Противоречит тем, что когда ты под «объектом» понимаешь его формальное определение — это нормально. Ты говоришь «яблоко», ты подразумеваешь реально существующее яблоко, в твоих построениях у того, что ты называешь «яблоко» есть все свойства, приписываемые яблокам. И такой подход будет ошибочен ровно в той мере, в которой ошибочно вообще всё. Просто гласно или не гласно, но так принято считать для общего удобства. Как то, что Земля крутится вокруг Солнца(поскольку центром бесконечности по-идее является любая точка, и всё крутится вокруг всего, если мы всё же допускаем что вселенная бесконечна). Соль в том, что с кодом или астрономической моделью, в зависимости от рода деятельности, тебе нужно работать с другими людьми. Есть придуманные умными людьми модели абстракций, есть несколько более кривое понимание этих моделей людьми поглупее, есть их реализация. Прежде всего они работают.

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

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

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

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

И в то же время, нельзя утверждать что этого яблока нет, ибо, если его нет, то почему же тогда есть восприятие? Это парадоксальный вывод. Именно поэтому помимо набора свойств, вещи имеют внутреннюю, непознаваемую сущность. Это касается и того что есть «Я». Те кто говорят что его нет, тоже не правы, так как если его нет, то кто же тогда утверждает о том что его не существует? Несуществующее не может заявить ни о своем существовании, ни о не-существовании

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

Как то, что Земля крутится вокруг Солнца(поскольку центром бесконечности по-идее является любая точка, и всё крутится вокруг всего, если мы всё же допускаем что вселенная бесконечна)

Кстати, есть еще одно соображение на этот счет. Поскольку любое движение относительно, мы можем считать геоцентричную модель не менее правильной нежели гелиоцентричная. Если земля вращается вокруг оси == вселенная вращается вокруг земли. То же самое можно сказать вообще о любом объекте, хоть космическом, хоть не очень.

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

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

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

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

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

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

Круг это /поведение/.

Я бы даже сказал, способ мышления.

Kuzy ★★★
()

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

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

DonkeyHot ★★★★★
()

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

Вот нахрена?

Miguel ★★★★★
()

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

Прослеживается вот в этом треде: SDL -> SDL2

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

Не льсти себе. Все вы боты бесите меня одинаково!

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

Так и программист понимает, что все эти «объекты», «данные», «код» и т.д. есть условности. Что не мешает с ними работать, всё просто.

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

Вирус это не сообщение. Это данные и код, ну или код, содержащий данные

Ви́рус (лат. virus — «яд»[2]) — неклеточный инфекционный агент, который может воспроизводиться только внутри живых клеток

Предлагаю перестать заниматься ментальной мастурбацией.

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

И? Гормоны тоже не работают без рецепторов. Грибы многие растут как паразиты и без растений носителей жить неспособны. Ментальная мастурбация это современное программирование, математика и прочие вещи оторванные от реальности чуть больше, чем очень сильно. Лисп был по ближе к реальности, да.

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

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

Какие задачи решают феласофствования уровня «Вирус это не сообщение. Это данные и код, ну или код, содержащий данные.» ?

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

задачи эффективности решения задач, построения адекватных моделей, и адекватности самой постановки задач(а тем ли путем идем, товарищи?)

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