Re[3]: Kotlin - новый язык для JVM
От: Cyberax Марс  
Дата: 20.07.11 14:19
Оценка:
Здравствуйте, avpavlov, Вы писали:

C>>5) Множественное наследование.

A>можно сказать, что они в Скале есть через трэйты
Они кривые. Скажем, для них нет конструкторов и вообще их инициализация неудобна. Diamond-проблему trait'ы в Scala никак не решают, а просто задают детерминированный механизм разрешения конфликта.

Так что в Kotlin поступили правильно — взяли обычное множественное наследование, убрав разницу между интерфейсом и классом.

C>>7) Именованные параметры,

A>Для кэйс классов в Скале поддерживаются даже дефолтные значения и копирование с изменением всего нескольких параметров, например
Case-классы я вообще в принципе ненавижу. Это запредельная кривость.

C>>в том числе для туплов.

A>вообщем, тоже есть
Нету.
def getPoint = (1,2,3)
val t = getPoint
//t._1, t._2, t._3 вместо t.x, t.y, t.z

А хочется так:
def getPoint = (x=1,y=2,z=3)
val t = getPoint
t.x, t.y, t.z


Если тупл большой (4-5 элементов) — уже неудобно. И особенно неудобно это для конструкторов case-классов.

Ну и именованые туплы (т.е. анонимные типы, по сути) — шаг на пути к LINQ.

C>>2) Библиотеки коллекций выглядят менее развитыми.

A>Кэйс классы у них есть, но названия они им не дали, и именуют "classes that declare all their primary constructor parameters val"
В Scala PM на практике требует использования case-классов. В Kotlin оно реализовано, как я вижу, через деструктурирующие функции, в том числе для обычных бинов.

C>>В целом, супер! Жду релиза.

A>Скала у всех на слуху, а взлетает долго. Мне кажется этот ещё дольше будет взлетать.
Scala слишком кривая местами.

Kotlin выглядит как почищенная от мусора Scala. Я, как программист на Scala, читаю программы на Kotlin вообще сразу — всё знакомое. Но при этом ВСЕ мои проблемы в Скале исправлены в Котлине.
Sapienti sat!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.