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

Recent Posts from This Journal

  • О разработке магических языков

    Смысл программ на Scala состоит в том, чтобы придумать и описать где-то так семь слов, при помощи которых вы сможете сказать всё по выбранной вами…

  • Повелитель диалектики

    Наконец-то появился ролик Попова, который мне понравился.

  • Как привнеси в Scala немножко Wolfram

    В приложении к предыдущей статье я задумался, а сколько вообще надо дописать к Scala, чтобы разобранная в статье конструкция работала и там тоже. То…

  • 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

Recent Posts from This Journal

  • О разработке магических языков

    Смысл программ на Scala состоит в том, чтобы придумать и описать где-то так семь слов, при помощи которых вы сможете сказать всё по выбранной вами…

  • Повелитель диалектики

    Наконец-то появился ролик Попова, который мне понравился.

  • Как привнеси в Scala немножко Wolfram

    В приложении к предыдущей статье я задумался, а сколько вообще надо дописать к Scala, чтобы разобранная в статье конструкция работала и там тоже. То…