Pull to refresh

Comments 32

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

Вообще-то:
— процедура может вызывать саму себя
— ссылка на массив со ссылками на массив может содержать себя
— ссылка на переменную может содержать ссылку на себя
иногда это нужно.
Тут проблема останова а не включения самого себя.
:)
Ссылка да, как абстракция следующего уровня, может ссылаться на ссылку предыдущего уровня, которая выглядит совершенно идентично исходной. Здесь не запрет, а проблема различения уровней, как и в исторических парадоксах.
Но если ваша процедура вызовет сама себя, и в ней снова прописан вызов самой себя, то это приведет к зацикливанию. Не думаю, что это лучшая практика программирования.
UFO just landed and posted this here
Так я ничего против не имею против рекурсии как принципа. Я против неограниченной и неуправляемой рекурсии, ведущей к зацикливанию.
А живые языки так устроены, что создают для этого очень много предпосылок. И инструментов для управления этим гораздо меньше, чем в языках программирования. Я и постарался перечислить их в статье.
Мой любимый — Структурный Дифференциал Коржибского.
Так я ничего против не имею против рекурсии как принципа. Я против неограниченной и неуправляемой рекурсии, ведущей к зацикливанию.

Да какая разница? Бесконечный цикл обработки событий может быть единственно верным решением в каких-нибудь микроконтроллерах. Рекурсия в компиляторах с tail call optimization может компилироваться в цикл. В том числе и бесконечный.


Ваши предположения о том, что "знают программисты", неверны. Они как раз уверены в противоположном изложенному вами.

Бесконечный цикл обработки потока событий вполне правильное и рабочее решение, но бесконечный цикл обработки одного и того же события — ошибочный паттерн.
Проблема не в самой рекурсии, а в отсутствии контроля логических уровней и уровней абстракций.
О чем, по сути, и статья.
бесконечный цикл обработки одного и того же события — ошибочный паттерн

А как тогда должна работать программа управления светофорами?

Кстати, где выход из цикла в процедуре апории Ахилла и черепахи?
UFO just landed and posted this here

Там, где они за один квант времени проходят разное расстояние. Там вообще рекурсии нет, там цикл в явном виде.


Время, за которое Ахиллес пробегает расстояние, пройденное черепахой, стремится к нулю. Когда это время становится меньше одного кванта, происходит выход из цикла, так как за один квант времени Ахиллес пробежит больше, чем проползла черепаха. Если для наблюдателя (которым может быть любой из них или кто-то третий) время не останавливается, значит наблюдатель заметит, как Ахиллес обгонит черепаху. Здесь даже квантованность самого времени не нужна, достаточно если у наблюдателя восприятие времени будет квантовано.

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

UFO just landed and posted this here
Спасибо за конструктивную критику. Если можно, укажите на абсолютизирующие утверждения. Так как я после прочтения Коржибского специально стараюсь за этим следить, потому что это одна из самых частых и популярных ошибок абстрагирования.
UFO just landed and posted this here
… это никакая не гипотеза, а аксиома, следующая из законов логики, математики, психологии, физиологии.
Когда б вы знали, из какого сора
Растут аксиомы, не ведая стыда…
90-99% всех войн, конфликтов, ссор и убийств происходят по идейным, идеологическим, религиозным, политическим и другим абстрактным причинам, лежащим в сфере идей и информации, а не материального мира.


Не согласен. Войны и конфликты на групповом уровне возникают в следствие разделения материальных ресурсов. Хотя причины декларируются иные.

Да ещё и конкретную долю написали без ссылки. Так на 76% убедительнее звучит?)

Украли мои мысли! Непонятно откуда взятое утверждение сразу портит впечатление от статьи.

Естественно, что причин у конфликтов много, и за любой «войной за справедливость» торчат материальные выгоды и приобретения.
Согласен, довольно некорректно сформулировал. Я имел в виду скорее не глубинные причины, а обоснование проявления агрессии. Оно как раз почти всегда находится на уровне слов, идей и идеологии.
Отредактировал. Спасибо за полезное замечание.
Интересно, что Вы осуждаете средневековых схоластов, которые придумывали, все более абстрактные понятия, чтобы объяснить логические противоречия, но сами занимаетесь тем же самым, придумывая абстрактную теорию, способную объяснить самые разные области знаний.
Ну я как раз предлагаю двинуться в обратном направлении — от абстрактных теорий и сложной терминологии к простым и наглядным схемам и чертежам и диаграммам.
Большинство наук в качестве терминологии используют слова естественного языка, которые и так неоднозначны и могут очень субъективно трактоваться. А разные науки могут использовать эти слова в своих, весьма специфических значениях.
Причем в разных науках эти значения могут быть вообще противоположными или находиться совсем на разных уровнях абстрагирования.
Так, в теории деятельности Леонтьева-Рубинштейна операция рассматривается как составная часть действия, набор которых в свою очередь образует деятельность.
Но в военном деле и медицине это слово применяется точно наоборот, как набор действий по достижению цели.
И таких примеров достаточно много, что мешает взаимопониманию и междисциплинарным проектам.
А схоластов я не осуждаю, а сочувствую. :)

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

Математика — это тоже знаковая система, хотя и гораздо более формализованная, чем естественные языки.
Но и она не может быть самодостаточной и непротиворечивой внутри самой себя в силу теоремы Гёделя. И не может объяснить саму себя без употребления естественного языка.
С помощью этого метода были получены некоторые интересные схемы и модели для разных предметных областей — ИТ, управления, психологии, лингвистики, педагогики, изучения иностранных языков, а их практическое применение оказалось довольно результативным и перспективным.
Но об этом в следующих статьях, если это будет интересно читателям Хабра.

Конечно же интересно, каким образом автор предлагает
выбраться из рекурсивной ловушки
.
Хотя до сих пор формальную логику понимает и умеет пользоваться, по разным оценкам, не более 1-10% населения планеты.

Хотелось бы ссылку, хотя бы на одно исследование. 20-30% утверждений в посте — голословны.
Но, благодаря картинкам и материальной модели, идеи Коржибского все-таки поняли в тот момент несколько человек, (как, впрочем, и Эйнштейна сразу после публикации Теории Относительности) и в результате этого появились и НЛП, и Дианетика с Сайентологией, и некоторые направления позитивной психологии, маркетинга, рекламы, политтехнологий, пропаганды и других инструментов работы с сознанием. К сожалению, на первоисточник авторы этих разработок предпочитают не ссылаться, чтобы «не палить тему».

А вот к этому длиннющему предложению вообще куча вопросов:
1. Сравнение Коржибски (не Коржибский он), которого худо-бедно знает википедия, с Эйнштейном (который был известен задолго до Теории Относительности) и обывательское утверждение, что его никто не понял, выглядит притянутым за уши.
2. НЛП — сомнительное учение, как и Сайентология, а пропаганда — это явление, а не конкретный набор методик. Какое-от странное перечисление ассоциативного ряда получилось. /upd: а, понял — это SEO/
3. Ну и про «не палить контору»: ученые таки скрывают, да.
Ну если вы считаете, что рекламой, пропагандой и политтехнологиями занимаются только одни ученые, то «таки скрывают».
Если несколько человек высказали одну и ту же идею разными словами, то в чем здесь сравнение?
Если научные или технические разработки используют в религии, церкви или секте, они что, от этого резко становятся неправильными и антинаучными?
Нет, я не считаю, что этим занимаются только ученые, просто фраза про «не палить контору» в контексте всего предложения — это всё равно, что я напишу статью на хабре про структуры данных, но не упомяну в ней Д. Кнута, к примеру, чтобы «не палить контору».
Если несколько человек высказали одну и ту же идею разными словами, то в чем здесь сравнение?

Мне кажется, в этом вопросе допущена логическая ошибка. Семантика правильна, но смысл ускользнул. Но всё-таки попробую ответить. Вы сравниваете двух людей, которых якобы «не поняли», притом второй — Эйнштейн — используется просто для придания веса идеям «не понятого» Коржибски.
Если научные или технические разработки используют в религии, церкви или секте, они что, от этого резко становятся неправильными и антинаучными?

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

Вики упоминает о том, что Гёдель после публикации теорем о полноте в 1931 году занимался другими научными проблемами, а признаки психических расстройств проявлялись уже в 30-х годах. Параноидальный страх отравлений проявился в 1936 году.
Связаны ли в данном случае напряженные научные поиски с болезнью — вопрос.
Миллионы людей продолжают пытаться выучить язык с помощью языкового описания языка (грамматики), не замечая, что они попадают в логическую ловушку рекурсии без шанса выбраться оттуда.

Грамматика структурирует язык. Без неё — он набор слов/символов.
Например, я могу понять смысл предложения на итальянском, который я не изучал, будучи знакомым с французской грамматикой. Поскольку оба языка принадлежат романской группе, в их грамматиках проявляется существенное сходство.
Sign up to leave a comment.

Articles