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

Feb 11, 2021 19:42

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

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

Leave a comment

Comments 50

faber_scriptor February 11 2021, 17:46:44 UTC

Хм... Я так так и не понял почему в Java x=y false, если они равны, условно, z.

Reply

lipkalapka February 11 2021, 17:56:17 UTC
Хм. Знак равенства что за операцию в яве обозначает? Тикеты-то разные? А то, что тикеты на одно и то же наклеены, так вы про это не спрашивали.

Reply

faber_scriptor February 11 2021, 17:57:58 UTC

Да, не спрашивал. Не программист я.

Reply

andrewdvizhok February 12 2021, 07:40:35 UTC
Integer - это объект, java объекты сравнивает по хешь сумме.
int x = 2;
int y = 2;
x == y; // true
Если используется Integer, то нужно сравнивать так:
x.equals(y)

Reply


lipkalapka February 11 2021, 17:53:22 UTC
Да, философы с программистами ломаются. «Равен по значению, но не равен по ссылке», как тебе такое гегель? А если учесть, сколько операций зарыто под синтаксическим сахаром, ух. «Равен по значению, если мы сравниваем как обьекты класса А, но не равен, если сравниваем как обьекты класса Б» - тут у самого бдительного диалектика крыша поедет.

Reply

poxu February 12 2021, 09:12:34 UTC
> «Равен по значению, если мы сравниваем как обьекты класса А, но не равен, если сравниваем как обьекты класса Б» - тут у самого бдительного диалектика крыша поедет.

А чтобы наверняка ты напиши код так, чтобы по чётным секундам объекты быть равны, а по нечётным неравны. А потом объясняй диалектикам, какие они дебилы )))

Reply

lipkalapka February 12 2021, 09:28:36 UTC
Ну так а фабрики классов и зачем придуманы?

Reply


nusut February 11 2021, 17:54:49 UTC
Вот поэтому добрые люди не пользуются джавой с их хитрыми подставами адресов объектов вместо значений примитивов, и пишут на чистом си.

Reply

lex_kravetski February 11 2021, 17:56:01 UTC
На чистом С можно одними только указателями нагенерить диалектики на сто Гегелей.

Reply

lipkalapka February 11 2021, 18:00:36 UTC
Зато двумерные массивы байт легко превращаются в одномерные массивы «слов». А то что вычислять, что же все таки там будет - больно, ну так вы сами хотели, «си беспощадный и ужасный», да, будете из программы уходить - не забудьте за собой все аллоцированное деаллоцировать.

Reply

lex_kravetski February 11 2021, 18:17:41 UTC
В Java тоже есть sun.misc.Unsafe, поэтому напортить чо-то там в памяти всё ещё можно, если очень хочется. А если при этом нигде не ошибиться, то даже можно потом вернуть всё нахаченное обратно к нормальному языку.

Reply


skulsky_k February 11 2021, 18:01:22 UTC
Потому что Integer - это богомерзкая ссылка на мир идей.
Нужно пользоваться суровым материалистическим int!

Reply


regent February 11 2021, 18:29:52 UTC
Последний пример демонстрирует диалектическое развитие x от 129 к 200. Новое значение диалектически отрицает старое, и синтез торжествует в y := x. :)

Reply


Leave a comment

Up