понедельник, 13 июля 2015 г.
На следующий год
Kotlin существует только в трёх видах: для JVM, JavaScript и Android; а переносимое приложение написать можно только текстовое через вывод
И в этом вопросе язык сильно проигрывает почившему в бозе JavaFX script, в котором существовала Scene с набором 2D-примитивов, анимацией и связыванием переменных. Это позволяло создать переносимое приложение под телефон.
Посему у меня возникла идея для следующего Hackathon: разработать (для начала) библиотеку работы с графикой и реализовать единый интерфейс для всех трёх платформ.
Вот только если для поддержки Swing моих знаний и хватит, то в Android я откровенно слаб, а jquery не знаю вовсе. Да и выполнить всю задачу одному будет непросто. Надо набирать команду...
println
.И в этом вопросе язык сильно проигрывает почившему в бозе JavaFX script, в котором существовала Scene с набором 2D-примитивов, анимацией и связыванием переменных. Это позволяло создать переносимое приложение под телефон.
Посему у меня возникла идея для следующего Hackathon: разработать (для начала) библиотеку работы с графикой и реализовать единый интерфейс для всех трёх платформ.
Вот только если для поддержки Swing моих знаний и хватит, то в Android я откровенно слаб, а jquery не знаю вовсе. Да и выполнить всю задачу одному будет непросто. Надо набирать команду...
Неожиданно
В процессе изучения Kotlin я нашёл следующую проблему:
PS. Коллеги подсказывают, что похожее поведение у Scala.
open class Super(val value: Int) { constructor(value: Super) : this(value.value) } class Sub(value: Int) : Super(value) { constructor(value: Sub) : super(value) }Наследник не компилируется, сообщая, что нельзя использовать
super
в данном контексте, а надо использовать this
. Покурив документацию, я всё-таки написал требуемую мне иерархию:class SubOK : Super { constructor(value: Int) : super(value) constructor(value: SubOK) : super(value) }Это не лишено некоторой логики: если определяется конструктор по-умолчанию, то остальные конструкторы должны использовать только его. Во втором случае у класса
SubOK
нет конструктора по-умолчанию, а оба конструктора равноправны. Но на мой взгляд, логика достаточно спорная, да и добавляет лишнюю строку кода.PS. Коллеги подсказывают, что похожее поведение у Scala.
Подписаться на:
Сообщения (Atom)