ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
22 июля
1158026 Топик полностью
Argon (24.12.2021 11:58, просмотров: 401) ответил Evgeny_CD на Хабр. Крик души. В софте все всрато и становится еще всратее
Я тут свой крик душыы выплескивал, потом стало стыдно, удалил. Потом подумав, решил, что зря. 

Суть в моем недовольстве новомодным Kotlin-ом, несмотря на его некоторую красоту. Многие плюются на Java, но котлин - это что-то по жручести ресурсов, даже по сравнению с джавой.
Уже как-то давно упоминал, что в котлине принято использовать дата классы и объекты на их основе. Суть в том, что все переменные, массивы и прочее содержимое дата классов принято объявлять как val, т.е. неизменяемая переменная.
Как ее поменять? Тюуу да просто - меняем весь объект целиком, но с учетом того, что необходимая к изменению сущность принимает новое значение.
Куда девается прежний объект? Ну "освобождается". Ссылка на него становится недействительна и сборщик мусора должен подчистить.
Налицо почти диверсия. И ее совершили наши соотечественники из Jetbrains. Хотя наверное, под давлением общих тенденций развития софта. А они таковы, что акцент делается на том, чтобы снизить порог вхождения в разработку, тем самым уменьшив сложность и снизив стоимость работы программистов, которые должны стать взаимозаменяемыми.
Не знаю, может, это все нормально.

Еще упомяну, что в Java есть примитивные типы данных типа int, char и т.д. В Kotlin - нет. Все типы данных - классы-обертки со всеми сопутствующими накладными расходами.
А еще недавно обнаружилось, что битовые операции в котлине доступны только к типу Int. К типу Short, Byte и прочее - нифига подобного.
Т.е. чтобы по-эмбеддерски сдвинуть биты в двубайтной переменной нужно привести ее к типу Int, сдвинуть и потом привести обратно. Причем в некоторых случаях надо накладывать маски, обнуляющие лишние биты.


Так что спустя какое-то время Java вскоре будет восприниматься как нечто довольно шустрое. А не так как вы тута привыкли :)