Как стать автором
Обновить
87
0
Андрей Бреслав @abreslav

Co-founder @ Alter (psyalter.ru), Ex-Kotlin

Отправить сообщение
Делегаты позволяют сделать интерсепторы для свойств относительно дешево: вместо каких-нибудь аннотаций указываем делегата и радуемся. Я понимаю, что просто один раз написать на классе «делегировать все сюда» — выглядит здорово, но на самом деле мы не можем в этом случае никакой type-safety гарантировать, а это важно. Так что необходимость писать делегата для каждого свойства — это такой компромисс. А писать там совсем не много.
Те юзкейсы, на которые мы смотрели, не подтверждают эту гипотезу. Один делегат бывает, когда данные хранятся централизованно (map или база данных), но это не подавляющее большинство случаев.
Относительно скоро :)
Точно сказать не могу, но мы понимаем, что дело это нужное, и будем его делать.
Там в начале этого замечательного документа все написано, в синей рамочке :)
Коллеги из решарпера говорят, что опубликовать этот тул хотят, но точно сказать когда — не могут. Можно надеяться, что в следующем году что-то поэтому поводу случится.
Спасибо. Планируем
ReSharper что-то такое умеет. Выпускать отдельно пока не планировали
Это архиполезно только для задач анализа AST. У нас язык для людей, а не для анализа AST :)
Потому что это очень сложная штука, 80% пользы от которой без проблем покрывается тем, что есть сейчас: github.com/abreslav/introduction-to-kotlin/blob/master/kotlin-examples/src/_06_smart_cast/Eval.kt#L52
Совершенно без труда, поскольку это не ключевое слово, а аннотация.
Есть: в этом майлстоуне ускорили code completion и еще некоторые сервисы в IDE. Кое-что и в компиляторе, но там еще много-много работы.
Потому что это не паттерн-мэтчинг. Никакого сопоставления с образцом не происходит: только декларация переменных.

Настоящий паттерн-мэтчинг мы решили пока отложить.
Мы планируем начать широко использовать Kotlin внутри JetBrains в 2013 году. Эта стадия будет называться Beta. Доступ к ней, естественно, получат все.

Дату релиза 1.0 назвать невозможно: она зависит от того, что выяснится в процессе апробации языка в бета-стадии. Если придется менять что-то серьезное, это может сильно задержать релиз.
Прадва, по некотором размышлении, не очень понятно, как это сделать, имея в виду, что data-классы никакие не особенные, у них просто есть соответствующие методы…
В текущей версии в pass будет записан email. Думаю, что Вы привели хороший довод в пользу того, чтобы требовать, чтобы все компоненты были присвоены (но какие-то можно было пропутстить).
Не очень понятно, как это сделать, чтобы не возникало традиционной в таких случаях путаницы между объявлением переменной и ее использованием.

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность