Pull to refresh
3
0
Даниил @qwert_ukg

Разработчик

Send message
В более современных языках придумали «абстрактные атрибуты»:
Kotlin, Scala:
val foo: String
Да, здесь компилятором будут сгенерированы get и set, но по мне это ничем не хуже дедовского:
public String foo;

хуже, там приватное поле, и аксессоры (в вашем примере только геттер)
Я не знаю что на это ответить. Очевидно что у вас не хватает академической базы. Учитесь.
Жаль akornilov вам не сможет ответить. А вы не смотрели примеры для котлина?
Кто-то скажет — свойства это круто! Кто-то нет

Ну теперь мне все понятно :)

Ну Вы же пишите что:


никаких преимуществ по сравнению с Java я в нем не обнаружил

Я вам написал целый список преимуществ в сравнении с джава, вы говорите — да ими пользовался — я не понимаю логики. Вы не считаете это преимуществами?

Вы пишите:


никаких преимуществ по сравнению с Java я в нем не обнаружил.

и тут же, в коментарии, вы пишите:


кое-чем пользовался: свойства, async/await, вариативностью.

отсюда вопрос — где правда? Как можно пользоваться свойствами и не заметить этого?

Забыл про вывод типов
C# (MSVC2015) — вошел в обзор только потому, что мне довелось написать на нем немалое количество строк, и никаких преимуществ по сравнению с Java я в нем не обнаружил.

Вы видимо хеловорды писали.


В сишарпе есть:


  • свойства
  • нулабилити
  • екстеншн функции
  • async/await
  • имутабельность
  • удобная вариантность <in/out T>

Интересно, как Вы сравнивали?

Пару слов в защиту Котлина:


Дизайн джавы стар! Многие механизмы давно вросли в языки (свойства, экстнешены, иммутабельность, нулабилити).


Изза старого дизайна не срослось с выводом типов (даймонд синтакс) и вариантностью (in/out удобнее чем вилдкардс), не получилось убрать треугольные скобочки.


Ребята из JetBrains, вроде как много лет непосредственно работают с JVM делайя шустрый комплишн для идеи. Не мало знают о и ее компиляторе, и о дестятке других в придачу (есть из чего выбирать фичи).


Можно псиать библиотеки в рамках старого дизайна (обвешать все аннотациями, и навставлять треугольных скобочек друг в друга), а можно написать свой язык, используя накопленные знания и опыт. А за 6 лет разработки уж наверняка


Не нужно держаться за старое, а если и нужно, то 100%-ный интероп вам поможет :)

Геттер/сеттер и поле на байткоде уж точно есть.

Чистой Java
Kotlin

тут и тут посмотрите.

А мне нравится такая запись:


ImageSets(
    inCircle = true,
    needFit = true,
    defaultDrawableResource = 0
).let { print(it) }

Приятно читать :)

Как по мне, так вся прелесть билдера именно в типобезопасности, нельзя описать, например TextView вне RelativeLayout

На сколько я помню, JB готовили типобезопасный билдер для описания макетов, нечто вроде kotlinx.html, чтобы избавить всех от xml

В котлин можно переопределить только несколько операторов, в скале — почти всё, что захочется, хоть ||, хоть !!!

А зачем?
override fun getItemCount(): Int {
        return result.size //Возвращаем размер массива данных
}

Так вроде получше


override fun getItemCount() = result.size //Возвращаем размер массива данных
Он же вроде динамический?
Уже начал, к сожалению не много свободного времени.
Документации на Котлин действительно немного

Документация по Котлину исчерпывающая, на сайте производителя. В слак каналах поддержка осуществляется самими разработчиками. На текущий момент 13447 пользователей, комьюнити очень дружелюбное и помощь поступает незамедлительно.

Information

Rating
Does not participate
Location
Алматы (Алма-Ата), Алма-Атинская обл., Казахстан
Date of birth
Registered
Activity