Size: a a a

Kotlin Community

2020 May 14

V

Valentin in Kotlin Community
Ну пока до этого дошло, в котлине это уже было
источник

V

Valentin in Kotlin Community
Приятно, когда такое добавляется
источник

V

Valentin in Kotlin Community
Тем не менее, любой язык(даже не только программирования, а и обычный) просто стремится к сокращению себя(меньше кода/меньше звуков - больше смысла).
Такая же и здесь идея
источник

AL

Alexander Levin in Kotlin Community
Alexander Levin
Не дизайнер языка, так что скорее предположения, чем факты:

1. Конструктор очень часто один (и много случаев для множественных конструкторов закрыты параметрами по-умолчанию)
2. Если конструктор не один, то остальные по-хорошему часто просто варианты исходного в каком-либо виде

Так что в среднем случае это скорее просто очень удобный и логичный синтаксис.
А, да, ещё наверное влияет, что языки с таким вариантом синтаксиса уже были и это работало хорошо :)
источник
2020 May 15

С

Сержант Розеткинс... in Kotlin Community
Ясно, спасибо
источник

IO

Iaroslav Orlov in Kotlin Community
Alexander Levin
справедливости ради - record PersonExample(String firstName, String lastName, int age) {} , но это скорее доказывает, что такой синтаксис вполне востребован.
надеюсь, кстати, что можно будет генерировать рекорды с jvmTarget=14
источник

IO

Iaroslav Orlov in Kotlin Community
типа @JvmRecord data class ...
источник

AN

Alexander Nozik in Kotlin Community
Iaroslav Orlov
надеюсь, кстати, что можно будет генерировать рекорды с jvmTarget=14
Когда-нибудь можно будет.
источник

AN

Alexander Nozik in Kotlin Community
Но вряд ли так.
источник

IO

Iaroslav Orlov in Kotlin Community
Alexander Nozik
Но вряд ли так.
а как?
источник

AN

Alexander Nozik in Kotlin Community
Iaroslav Orlov
а как?
Языковыми конструкциями. Например const data class, хотя это мой домысел. Просто дата классы с аннотацией не годятся, там могут быть изменяемые поля и смысл другой
источник

IO

Iaroslav Orlov in Kotlin Community
Alexander Nozik
Языковыми конструкциями. Например const data class, хотя это мой домысел. Просто дата классы с аннотацией не годятся, там могут быть изменяемые поля и смысл другой
компилятором детектить изменяемые поля
источник

IO

Iaroslav Orlov in Kotlin Community
работают же как-то другие аннотированные фичи джавы
источник

IO

Iaroslav Orlov in Kotlin Community
Alexander Nozik
Языковыми конструкциями. Например const data class, хотя это мой домысел. Просто дата классы с аннотацией не годятся, там могут быть изменяемые поля и смысл другой
к тому же непонятен смысл такого класса по отношению к другим платформам
источник

IO

Iaroslav Orlov in Kotlin Community
Iaroslav Orlov
компилятором детектить изменяемые поля
по сути единственные ограничения - это запретить var, запретить свойства в теле
источник

I

Igor in Kotlin Community
Iaroslav Orlov
надеюсь, кстати, что можно будет генерировать рекорды с jvmTarget=14
а зачем? какие с этого плюшки будут?
источник

AN

Alexander Nozik in Kotlin Community
Iaroslav Orlov
компилятором детектить изменяемые поля
бред же.
источник

AN

Alexander Nozik in Kotlin Community
Но речь про value-типы давно шла
источник

AN

Alexander Nozik in Kotlin Community
Igor
а зачем? какие с этого плюшки будут?
От голых рекордов не особо каких. Вот от остальных кусков валхаллы будут
источник

AL

Alexander Levin in Kotlin Community
Igor
а зачем? какие с этого плюшки будут?
Ну немного разницы есть и кому-то может быть важным. Сейчас (кроме ограничений, их в рекордах больше просто) там есть то, что ты наследуешься от java.lang.Record и то, что геттеры другие. Дальше может больше разницы появиться.
источник