Re[7]: Замыкания и Reference Counting
От: vsb Казахстан  
Дата: 23.10.24 01:05
Оценка:
Здравствуйте, ·, Вы писали:

vsb>>Сейчас тоже требует. Просто это называется effectively final. Типа писать не обязательно, но оно подразумевается, менять ты её не можешь. Это ещё одна дурость.

·>Это не дурость, а минимизации wtf/LoC

Дурость, натуральная.

Во-первых никакой необходимости в этом всём вообще нет. Заменяем int x на int[] x = new int[1], все обращения к x на x[0] и готово, у нас с абсолютно тривиальным преобразованием работает изменение переменной из замыкания.

Во-вторых, даже если разработчики Java с чего-то решили, что теперь их миссия — zero overhead abstractions (ха-ха) и превращать под капотом переменную в массив это не ок, то никакой проблемы написать final у нужной переменной нет и это как раз уменьшает WTF/LoC. Т.е. необходимости ввода effectively final концепции не было никакой. Нужна тебе final переменная — ну и напиши final. Это как вводить effectively int концепцию — если не указали у переменной тип, то она будет считаться int-ом. Зачем? Какую проблему решает? Непонятно.

> В шарпе и js с этим налажали и там это классическая грабля.


Это вообще другая проблема и эту проблему так же легко исправить. В Go, кстати, исправили в одной из последних версий.
Отредактировано 23.10.2024 1:06 vsb . Предыдущая версия . Еще …
Отредактировано 23.10.2024 1:05 vsb . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.