Lex Kravetski (lex_kravetski) wrote,
Lex Kravetski
lex_kravetski

Category:

Икс не равен самому себе

Что-то давно не было про диалектику. И про программирование. Сейчас я экстренно наверстаю.

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

«Я равен самому себе — а иначе как же меня друзья-то опознают? Однако я не равен самому себе, поскольку не влезаю в те штанишки, которые носил в десять лет. Шах и мат, формальнологисты!».

Без балды, после прослушивания бреда Попова о бреде Гегеля месяцами напролёт такое действительно может поразить до глубины души, но вроде бы тому, кто занимался всё это время чем-то интеллектуальным, должно сразу быть понятно, как зовут сову, натянутую тут на глобус.

Тем не менее, я готов поделиться с общественностью ещё более крышесносящим примером — прямо сразу на формальнологическом языке программирования Java.

Integer x = 129;
Integer y = 129;

System.out.println( x ); // 129
System.out.println( y ); // 129

System.out.println( x == y ); // false


Вот где настоящая борьба синтеза с гестерезисом! Английским по бежевому написано, что «икс равен 129, и игрек тоже равен 129», а проверяешь — хрен там! И без пол-Энгельса далеко не каждый поймёт, почему оно так.

Но ещё интереснее будет, если написать теперь…

System.out.println( x == y + 0 );


Неожиданно, результат — true.

Ну, тут точно формальная логика бессильна — икс не равен игреку, который равен тому же числу, что и икс, но при этом икс равен игреку, которому он только что был не равен, если к игреку прибавить ноль. Тут бы даже Ильенков трижды перекрестился: отсутствие изменений, видимо, тоже следует считать изменениями, и, с другой стороны, нулевое изменение возвращает нас к неизменности.

Красиво я сказал, да? Самое время свой философский университет организовывать и назначать себя его директором.

Правда, в языке Scala, сделанном ещё более формальнологическими формальнологистами, такая фигня уже не работает. Видимо, отступили, негодяи, от корней и попрали все устои. Гегеля на них нет.

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

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

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

Integer x = 129;
Integer y = x;

x = 200;

System.out.println( x == y ); // false


Смотрите, тут тоже какая-то фигня: мы написали, что «икс равен игреку», а всего через одну строку проверили — не равен! Как такое вообще может быть?

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

Давайте попробуем то же самое на Wolfram.

x := 129
y := x

x := 200

x == y (* True *)


Вот так-то, скептики. Java и Wolfram вроде бы одно и то же считают прямо противоположным. Поскольку же написанные на них программы работают, они оба правы (и это, кстати, даже уже не шутка — они действительно в этом оба правы). Поэтому икс одновременно равен и не равен игреку.

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



doc-файл

Tags: диалектика, программирование, философия, юмор
Subscribe

  • Информация о списке внутри списка

    Интересно, что не только мне в комментах русскоязычные типа знатоки математики такое писали, но и в англоязычном сегменте интернета люди друг другу…

  • Чисто для пафоса

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

  • Чем современные дети

    Хотелось бы прокомментировать статью «Чем современные дети отличаются от школьников 1980-х: 10 пунктов учителя истории», заодно объяснив, почему «не…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 50 comments

  • Информация о списке внутри списка

    Интересно, что не только мне в комментах русскоязычные типа знатоки математики такое писали, но и в англоязычном сегменте интернета люди друг другу…

  • Чисто для пафоса

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

  • Чем современные дети

    Хотелось бы прокомментировать статью «Чем современные дети отличаются от школьников 1980-х: 10 пунктов учителя истории», заодно объяснив, почему «не…