powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Новый язык для java разработчиков - Kotlin
118 сообщений из 118, показаны все 5 страниц
Новый язык для java разработчиков - Kotlin
    #37664328
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Opennet.ruКомпания JetBrains объявила об открытии кода компонентов, связанных с реализацией языка программирования Kotlin.

Самое интересное:
Изначальной целью проекта было создание максимально совместимого с Java языка программирования, одновременно лишённого ограничений и недостатков Java, от которых Java не может избавиться из-за необходимости обеспечения обратной совместимости.

Бонусы нового языка:
отсутствие NPE. проводится через проверку типов на нуллы и запрет присвоение переменной значения null если она объявлена как "не содержащая null". компилятор проверяет обработку проверки на null у null-не-защищенных ссылок.

функции высшего порядка

делегирование

примеси

вывод типов

дополнительные приятный фишечки:

встроенная поддержка проперти

замыкания

Основной бонус - возможность полного двунаправленного взаимодействия с java. т.е. можно как из java вызывать kotlin, так и наоборот. Как я понял разработчиков этот язык нацелен на нишу java.

По мне у этого языка есть шансы "взлететь". А вы как думаете, коллеги?

----

- Just Do IT! (c)
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37664347
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересная статья на эту тему: http://www.osp.ru/os/2011/09/13011550/
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37664358
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoDAOpennet.ruКомпания JetBrains объявила об открытии кода компонентов, связанных с реализацией языка программирования Kotlin.

Самое интересное:
Изначальной целью проекта было создание максимально совместимого с Java языка программирования, одновременно лишённого ограничений и недостатков Java, от которых Java не может избавиться из-за необходимости обеспечения обратной совместимости.

Бонусы нового языка:
отсутствие NPE. проводится через проверку типов на нуллы и запрет присвоение переменной значения null если она объявлена как "не содержащая null". компилятор проверяет обработку проверки на null у null-не-защищенных ссылок.

функции высшего порядка

делегирование

примеси

вывод типов

дополнительные приятный фишечки:

встроенная поддержка проперти

замыкания

Основной бонус - возможность полного двунаправленного взаимодействия с java. т.е. можно как из java вызывать kotlin, так и наоборот. Как я понял разработчиков этот язык нацелен на нишу java.

По мне у этого языка есть шансы "взлететь". А вы как думаете, коллеги?

----

- Just Do IT! (c)

используйте скалу, и будет вам счастье...
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37664361
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вообще, на счет нул поинтереов - очень рад за язык.

вот не понимаю, как в такой высокоуровневый язык как жава - попало это понятие, от которого даже скрыться нельзя.
тебе в любой метод могут передать нул(если там не примитивные типы конечно)
а это не дело.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37664368
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNвот не понимаю, как в такой высокоуровневый язык как жава - попало это понятие, от которого даже скрыться нельзя.на момент создания языка возможность нулла в переменной было естественным. а дальше обратная совместимость.

Фактически у Oracle два варианта дальнейшего развития java как языка это либо забить на обратную совместимость и сделать Java X. но на подобный ход они вряд ли пойдут. Либо создать новый java и JVM совместимый язык и мигрировать на него, а базовая java останется для back-compatibility и old-legacy кода. Второй вариант более вероятен. Об этом можно судить по тому, как еще Sun стремился сделать JVM многоязычной платформой. Этим они развязывают себе руки по смене языка каждые 15-20 лет при бесшовной миграции.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37664370
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoDAZyK_BotaNвот не понимаю, как в такой высокоуровневый язык как жава - попало это понятие, от которого даже скрыться нельзя.на момент создания языка возможность нулла в переменной было естественным. а дальше обратная совместимость.



вот тот же мл был, могли от туда стырить.

т.е. разъясните мне естественность его использования.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37664780
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoDA,

VoDAНовый язык для java разработчиков
Вот же блин! Мы ещё старые-то не все выучили, а тут...
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37664787
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JetBrains, вроде идею будет понемногу на Kotlin переводить. JBoss, интересно, тоже всё на свой цейлон перепишут. Ктобы оба пощупал для сравнения.

Кстати, замыканий в Kotlin, кажется пока нет.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37664821
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В одном из последних выпусках Radio-T гостем был один из продвигателей :) или основателей ли Kotlin - интересно было послушать.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37664875
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNвот тот же мл был, могли от туда стырить.
т.е. разъясните мне естественность его использования.java язык который должен был захватить часть С++ программистов. без этого он бы умер не родившись. в С++ null указатель - норма, потому в java взяли ту же модель.

МЛ наверняка круто и полный Ъ, но что сейчас что раньше (в момент создания java) вакансий на него было около нуля. потому на него особо не ориентируются при создании production языков.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37664878
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoDAОб этом можно судить по тому, как еще Sun стремился сделать JVM многоязычной платформой
Мне кажется,у Sun другие мотивы были. Если JVM всегда была именно J и другие языки не особо поддерживались, то развитие CLI показало преимущества нескольких языков. Плюс, где-то в это время стали достаточно альтернативные языки типа JRuby, Groovy и Scala. Свою роль сыграло развитие DSL. Думаю, именно это послужило поводом для поддержки нескольких языков JDK, а затем в JVM.

Не совсем понятно, что именно мешает Oracle вообще забить на Java как ня язык и оставить только JVM. Пусть Java остается базовым языком платформы, но лично я смысла развивать его - не вижу. Со своими задачами простого языка он справляется хорошо, а при необходимости на JVM есть уже ряд устоявшихся языков, пригодных для решения различных задач.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37664886
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczJetBrains, вроде идею будет понемногу на Kotlin переводить. JBoss, интересно, тоже всё на свой цейлон перепишут. Ктобы оба пощупал для сравнения.сначала Kotlin перепишут на Kotlin (не шутка!) и только набрав большое количество кода на Kotlin стабилизируют синтаксис и выпустят в продакшен.

А щупать для сравнения лучше после выхода релизов. Что котлин что цейлон имеют ... сложно сопоставимые нюансы.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37664894
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeonidvНе совсем понятно, что именно мешает Oracle вообще забить на Java как ня язык и оставить только JVM. Пусть Java остается базовым языком платформы, но лично я смысла развивать его - не вижу. Со своими задачами простого языка он справляется хорошо, а при необходимости на JVM есть уже ряд устоявшихся языков, пригодных для решения различных задач.
Дык нет адекватных. Либо скала с общеизвестными граблями. Либо тормозные скрипты на рефлексии с ног до головы. Отсюда все эти котлины и цейлоны.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37664922
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczКстати, замыканий в Kotlin, кажется пока нет.Следующая конструкция напоминает замыкание. Призываю ZyK_BotaN и других знатоков подтвердить или опровергнуть замыкание это или нет.

Код: java
1.
collection.filter {x => x % 2 == 0}



Другое дело, что kotlin не ввели замыкание как элемент языка, а применили функции высших порядков и синтаксический сахар. получилось мощно и красиво:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
//объявление метода:
class MyCollection {
  fun myFilter(filterFunction: fun(x: Int): Boolean): MyCollection {...}
}

//вызовы метода (все следующие вызовы идентичны):
myCollection.myFilter({x => x %2 == 0})
myCollection.myFilter({it *2 == 4})
myCollection.myFilter {it *2 == 4}



использованы следующие "сахарки":
1. если параметр функции один, то можно не присваивать имя переменной. тогда используется имя по умолчанию - it
2. если последний параметр функции - функция, то ее описание можно вынести из круглых скобок '()'. Если при этом у функции больше нет параметров, то круглые скобки можно вообще не указывать.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37664948
m77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прочитал статьи про Котлин и, если честно, не понял ни преимуществ перед "чиста-канкретна" джавой, ни недостатков - в основном речь о синтаксисе и каких-то небольших изменениях, мелких улучшениях. Но пока как-то не видно в чем цимес Котлина, в чем "прорыв", шаг вперед, новая технология и т.п.

Чего-то мне кажется, что оракл хоть и трепыхается, купив джаву, а ничего существенного и прорывного для расширения своего рынка предложить пока не может... Чего-то как-то не показалось, что Котлин им поможет в расширении рынка.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37664975
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeonidvСвою роль сыграло развитие DSL. Думаю, именно это послужило поводом для поддержки нескольких языков JDK, а затем в JVM.насколько я знаю JDK поддерживает только один язык. Для других требуются их собственные SDK.

LeonidvНе совсем понятно, что именно мешает Oracle вообще забить на Java как ня язык и оставить только JVM. Пусть Java остается базовым языком платформы, но лично я смысла развивать его - не вижу. Со своими задачами простого языка он справляется хорошо, а при необходимости на JVM есть уже ряд устоявшихся языков, пригодных для решения различных задач.Еще в бытность Sun он забил на развитие java как языка. сейчас Oracle пытается догнать конкурентов хотя бы в роли базового языка. что Oracle будет делать дальше - посмотрим. Возможно начнут заимствовать интересные фичи из языков типа Ceylon/Kotlin.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37664980
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m77Прочитал статьи про Котлин и, если честно, не понял ни преимуществ перед "чиста-канкретна" джавой, ни недостатков - в основном речь о синтаксисе и каких-то небольших изменениях, мелких улучшениях. Но пока как-то не видно в чем цимес Котлина, в чем "прорыв", шаг вперед, новая технология и т.п.
Две основные проблемы, которые решают Kotlin и Ceylon и не решает Java, это

- Превентивная борьба с вездесущим NPE. Если в Java системе null значения легко разбегаются по всеме проетку. То в Kotlin \ Ceylon разработчик строго контролирует где у него могут быть null значения и минимизирует их распространение. Что сводит проверки на null к минимуму. Вот есть 10 методов по стеку с одним аргументом. И уже не надо в каждом методе проверять. Только в первом. И это уже контролируется на уровне компиляции!

- Свойства и указатели на функции. Без этого очень страдает как ORM так и многие другие движки на рефлексии - биндинг, IoC и т.п. Мы вынуждены везде писать свойства строкой, а не прямой ссылкой на свойство. Поэтому нет ни праверки что имя написано правильно, ни проверки на тип свойства во время компиляции.

Лично для меня остальное всё мелкие плюшки.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37664988
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoDAДругое дело, что kotlin не ввели замыкание как элемент языка, а применили функции высших порядков и синтаксический сахар. получилось мощно и красиво:

Получилось как у и других (Groovy (оттуда it), Scala - оттуда все остальное).
Не знаю, мне грабли Scala не особо известны. Только сложность вхождения.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37664992
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m77Чего-то мне кажется, что оракл хоть и трепыхается, купив джаву, а ничего существенного и прорывного для расширения своего рынка предложить пока не может...
JavaFX это попытка расширить рынок - занят сегменты, в которых Java пока не валялась. Ничего хорошего из этого не получается.
Девелоперам нужно обратное - более хорошие решения в уже существующем сегменте.

m77Чего-то как-то не показалось, что Котлин им поможет в расширении рынка.
Kotlin разработка JetBrains
Ceylon - RedHat
ни те ни другие с Oracle не связаны
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665000
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoDALeonidvСвою роль сыграло развитие DSL. Думаю, именно это послужило поводом для поддержки нескольких языков JDK, а затем в JVM.насколько я знаю JDK поддерживает только один язык. Для других требуются их собственные SDK.

Если в состав JDK включать компилятор, то да. Если только VM+API, то нет.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665005
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeonidvНе знаю, мне грабли Scala не особо известны.
Уже много раз обсуждали в темах по Scala и ссылки приводили.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665061
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz- Свойства и указатели на функции. Без этого очень страдает как ORM так и многие другие движки на рефлексии - биндинг, IoC и т.п. Мы вынуждены везде писать свойства строкой, а не прямой ссылкой на свойство. Поэтому нет ни праверки что имя написано правильно, ни проверки на тип свойства во время компиляции.Свойства в Kotlin есть, но я не увидел их как First Class Property. потому пока можно пользоваться свойством, но нельзя сослаться на свойство :(
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665099
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoDAСвойства в Kotlin есть, но я не увидел их как First Class Property. потому пока можно пользоваться свойством, но нельзя сослаться на свойство :(
Блин :(
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665126
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczLeonidvНе знаю, мне грабли Scala не особо известны.
Уже много раз обсуждали в темах по Scala и ссылки приводили.
Я их читал. Не считаю, там что-то такое ужасное было, что мешает использовать Scala в проектах.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665234
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeonidvЯ их читал. Не считаю, там что-то такое ужасное было, что мешает использовать Scala в проектах.так никто и не мешает. язык стоит использовать если он ПОМОГАЕТ. и при этом не создает серьезных трудностей в изучении, применении и т.п.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665248
m77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczJavaFX это попытка расширить рынок - занят сегменты, в которых Java пока не валялась. Ничего хорошего из этого не получается.
Вообще ощущение, что оракл, собственно, ничего путного из покупки джавы не извлек. И не понятно что извлечет.

BlazkowiczДевелоперам нужно обратное - более хорошие решения в уже существующем сегменте.
Ну да... Только котлин в этом плане на первый взгляд не производит впечатления существенного улучшения - так, по мелочам... Как-то кажется, что сегмент пользователей у него будет не большим. Субьективно, конечно, но почему-то именно так кажется...
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665298
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m77Ну да... Только котлин в этом плане на первый взгляд не производит впечатления существенного улучшения - так, по мелочам... Как-то кажется, что сегмент пользователей у него будет не большим. Субьективно, конечно, но почему-то именно так кажется...
Вот как раз поэтому Котлин/Цейлон и может выстрелить. В отличии от перескриптовоного Groovy и требующей времени на изучение Scala, Котлин/Цейлон может предложить достаточно улучшений по умеренной цене, чтобы стать интересным для миграции большого количества Java-программистов. Правда Java 8 может составить им сильную конкуренцию.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665310
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoDAZyK_BotaNвот тот же мл был, могли от туда стырить.
т.е. разъясните мне естественность его использования.java язык который должен был захватить часть С++ программистов. без этого он бы умер не родившись. в С++ null указатель - норма,
спорно. у с++ было два способа обойти проблему нула:
-передача по значению
-ссылка

а джавистов этих способов - лишили
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665314
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeonidvПравда Java 8 может составить им сильную конкуренцию.
Какую ещё конкуренцию? Там кроме лямбд что нового на уровне языка? А с выходом Java 8, Kotlin и Ceylon добавят эти лямбды себе с поддержкой на уровне JVM.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665323
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, не взлетит. Причина одна, но очень весомая: никто не хочет поддерживать зоопарк в архитектуре. А для новых проектов требуется веское обоснование выбора языка\платформа и тд.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665339
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинНе, не взлетит. Причина одна, но очень весомая: никто не хочет поддерживать зоопарк в архитектуре. А для новых проектов требуется веское обоснование выбора языка\платформа и тд.
Платформа - Java. Язык от Java почти не отличается. Так что это не проблемы. Проблема в том чтобы создать наработки, которыми общественность захотела бы пользоваться. И вот здесь у Redhat шансов поболе. Ну и нужны другие крупные компании, которые бы захотели использовать новый язык.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665353
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeonidvПравда Java 8 может составить им сильную конкуренцию.только если в версии 9-10, который выйдут через 3 и 5 лет соответственно. First Class Property даже в 8-ке не делают. Максимум что смогли это костыльные мета-классы для JPA 2.0

защиту от NPE в java вообще не сделают будут поддерживать обратную совместимость, т.е. никогда.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665365
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинНе, не взлетит. Причина одна, но очень весомая: никто не хочет поддерживать зоопарк в архитектуре. А для новых проектов требуется веское обоснование выбора языка/платформа и тд.тут и кроется основной бонус Цейлон/Котлин - они обеспечивают возможность совмещать код на java с ceylon/kotlin. Т.е. можно безболезненно писать код на Котлине в больших java проектах или подменять java код на kotlin без фатального рефакторинга проекта.

из за "проблем" с "пропертями" в одном из проектов вместо гет/сет сделали public поля и счастье поскольку во внешний API данные классы не идут, то когда понадобится override для "проперти", тогда и сделаем гет/сет.

на котлине (будь он production-ready) многие вещи можно переписать улучшив читаемость и качество кода. что только в плюс проекту.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665366
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoDAзащиту от NPE в java вообще не сделают будут поддерживать обратную совместимость, т.е. никогда.
В виде @Nullable - никогда. А в виде @NotNull (JSR-305) обсуждалось ещё для Java 7. Так что в 9ку может и попасть.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665371
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читать так:

LeonidvПравда Java 8 может составить им сильную конкуренцию.только если в версии 9-10, который выйдут через 3 и 5 лет соответственно First Class Property в 8-ке даже не планируют. Максимум что смогли это костыльные мета-классы для JPA 2.0

защиту от NPE в java вообще не сделают пока будут поддерживать обратную совместимость, т.е. никогда.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665372
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoDAиз за "проблем" с "пропертями" в одном из проектов вместо гет/сет сделали public поля и счастье поскольку во внешний API данные классы не идут, то когда понадобится override для "проперти", тогда и сделаем гет/сет.

У полей проблемы не только с перегрузкой. Там ещё с рефакторингом какой-то геморрой был. Не помню уже.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665373
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczVoDAиз за "проблем" с "пропертями" в одном из проектов вместо гет/сет сделали public поля и счастье поскольку во внешний API данные классы не идут, то когда понадобится override для "проперти", тогда и сделаем гет/сет.

У полей проблемы не только с перегрузкой. Там ещё с рефакторингом какой-то геморрой был. Не помню уже.
И с отладкой ещё.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665379
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczVoDAзащиту от NPE в java вообще не сделают будут поддерживать обратную совместимость, т.е. никогда.
В виде @Nullable - никогда. А в виде @NotNull (JSR-305) обсуждалось ещё для Java 7. Так что в 9ку может и попасть.Значит аннотациями... да, тогда могут и сделать :)

9-ка планируется через 3,5 года от момента сейчас, котлин в продакшене будет через год. итого два с половиной года на захват java-программистов


PS самый клевый бонус 8-ки это модульность и jugsaw. Если Oracle-овцы сделают, то уже молодцы =)))
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665390
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoDAPS самый клевый бонус 8-ки это модульность и jigsaw.
И какая от них практическая польза?

VoDAЕсли Oracle-овцы сделают, то уже молодцы =)))
Кто сделают?
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665396
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, VoDA!

> Максимум что смогли это костыльные мета-классы для JPA 2.0

А это что такое?

> защиту от NPE в java вообще не сделают будут поддерживать обратную
> совместимость, т.е. никогда.

Контракты, контракты, контракты!
Конечно notNull это круче, зато контракты универсальные и поверх них
легко прикрутить проверку кода легко.

--
Алексей
JID: alxt@ya.ru
Posted
via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665413
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_SamaraДобрый день, VoDA!

Контракты, контракты, контракты!Привет!

А можно пример контракта, который статичен и проверяется компилятором в момент сборки проекта?
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665431
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczVoDAЕсли Oracle-овцы сделают, то уже молодцы =)))
Кто сделают?Оракловцы )))

BlazkowiczVoDAPS самый клевый бонус 8-ки это модульность и jigsaw.
И какая от них практическая польза?основной бонус: отсутствие classpath и проблем с тем, что класспасы на машине разработчика и продакшен сервере разные.

вместо maven можно использовать саму java с основными бонусами типа локальных/удаленных репозиториев и т.п.

jugsaw в некотором смысле аналог OSGi, только пока без динамического запуска/останова. вероятно динамика появится позже.

появится возможность сделать API для проекта и оградить свой проект от вмешательства во "внутренний" API. сейчас либо все видят класс либо не видит никто кроме пакета.

вероятно вылечат jar-hell проблему когда проект А зависит от Б и В, а сами Б и В зависят от некого Д, но разных несовместимых по API версий. В java пока не лечится, зато C# успешно решил эту проблему много лет назад.

сам JRE вероятно станет модульным и сможет затягивать себя в зависимости от того, что нужно конкретному проекту.

Следом за модульностью JRE вероятно появится модульность JavaEE серверов когда сервер будет запускать/останавливать подсистемы по дескриптору зависимостей приложения. Если приложение зависит от JMS, то сервер запускает JMS, иначе нет. Как следствие JBoss или GlassFish будут работать как Tomcat для простых приложений и в полном объеме для толстых EAR.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665435
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczИ какая от них практическая польза?

Подведу итог:
отсутствие classpath и его болезней

большая часть работы maven будет реализована прямо в JDK

jugsaw в некотором смысле аналог OSGi

появится возможность сделать API проекта

вероятно вылечат jar-hell проблему diamond зависимостей

сам JRE станет модульным

модульность JavaEE серверов когда сервер будет запускать/останавливать подсистемы по дескриптору зависимостей приложения
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665444
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoDAGKS_SamaraДобрый день, VoDA!

Контракты, контракты, контракты!Привет!

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

пример
method1(arg) - принимает не нулл
method2() - возвращает не нулл.

пример кода:
method1(method2()) - статическая проверка может сработать.

второй(для меня более предпочтительный) пример:
resm2 = method2()
method1(resm2)
-вот здесь, уже не знаю как контракты на статически смогут сработать.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665447
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, VoDA!

> А можно пример контракта, который статичен и проверяется компилятором в
> момент сборки проекта?

Нет. Но достаточно проверки средой разработки. Сейчас это не проблема.
Ещё раз- статические проверки лучше, но контракты универсальнее.

--
Алексей
JID: alxt@ya.ru
Posted
via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665450
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, ZyK_BotaN!

> второй(для меня более предпочтительный) пример:
> resm2 = method2()
> method1(resm2)
> -вот здесь, уже не знаю как контракты на статически смогут сработать.

assert

--
Алексей
JID: alxt@ya.ru
Posted
via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665454
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_SamaraДобрый день, ZyK_BotaN!

> второй(для меня более предпочтительный) пример:
> resm2 = method2()
> method1(resm2)
> -вот здесь, уже не знаю как контракты на статически смогут сработать.

assert

--
Алексей
JID: alxt@ya.ruможно по подробней.
я именно про то, как реализовать для такого случая "статическую проверку"
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665461
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_SamaraДобрый день, VoDA!

> А можно пример контракта, который статичен и проверяется компилятором в
> момент сборки проекта?

Нет. Но достаточно проверки средой разработки. Сейчас это не проблема.
Ещё раз- статические проверки лучше, но контракты универсальнее.

--
Алексей
JID: alxt@ya.ru
они то универсальней, и поэтому имеют право на жизнь.

но в случае notNull типов - хотелось бы именно статической проверки.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665474
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNвторой(для меня более предпочтительный) пример:
resm2 = method2()
method1(resm2)
-вот здесь, уже не знаю как контракты на статически смогут сработать.Этот вариант и работает в Kotlin

переменные объявляются как nullable/notnull, также параметры и результаты функций. компилятор выдает ошибку при попытке в notnull записать или передать nullable переменную (результат)

Пример:
var str : String - значит notnull переменная, можно пользоваться без проверки на null
var str2: String ? - nullable переменная, любые операции с ней только после проверки на null.

Код: java
1.
2.
3.
4.
5.
str2 = str // валидный код
str = str2 // ошибка компиляции.

if(str2 != null)
    str = str2      //вот так можно работать с nullable переменной

ровно также статически проверяются ошибки при работе с функциями.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665476
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoDAZyK_BotaNвторой(для меня более предпочтительный) пример:
resm2 = method2()
method1(resm2)
-вот здесь, уже не знаю как контракты на статически смогут сработать.Этот вариант и работает в Kotlin

переменные объявляются как nullable/notnull, также параметры и результаты функций. компилятор выдает ошибку при попытке в notnull записать или передать nullable переменную (результат)

Пример:
var str : String - значит notnull переменная, можно пользоваться без проверки на null
var str2: String ? - nullable переменная, любые операции с ней только после проверки на null.

Код: java
1.
2.
3.
4.
5.
str2 = str // валидный код
str = str2 // ошибка компиляции.

if(str2 != null)
    str = str2      //вот так можно работать с nullable переменной


ровно также статически проверяются ошибки при работе с функциями.дак я про контракты говорю.
что они - тут не помогут.

нужен notnull на уровне типов.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665479
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_SamaraНет. Но достаточно проверки средой разработки. Сейчас это не проблема.
Ещё раз- статические проверки лучше, но контракты универсальнее.в kotlin в сигнатуру функции входит контракт на null / not null. Это еще более универсально чем просто контракт через аннотации ;)
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665481
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNдак я про контракты говорю. что они - тут не помогут.

нужен notnull на уровне типов.читаем внимательнее
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665482
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoDAGKS_SamaraНет. Но достаточно проверки средой разработки. Сейчас это не проблема.
Ещё раз- статические проверки лучше, но контракты универсальнее.в kotlin в сигнатуру функции входит контракт на null / not null. Это еще более универсально чем просто контракт через аннотации ;)
что ты понимаешь под словом универсально?

как по мне, дак наоборот. это не универсально
(но очень нужно)
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665487
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoDAZyK_BotaNдак я про контракты говорю. что они - тут не помогут.

нужен notnull на уровне типов.читаем внимательнее
что читать?
я все внимательно читал.
это ты меня не понял.
я рассуждал на возможность статической проверки универсальных контрактов.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665491
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
то что придется писать контракт для переменной тоже - я понял сразу. но для сложных конрактов - вижу проблемы.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665495
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNчто ты понимаешь под словом универсально?

как по мне, дак наоборот. это не универсально
(но очень нужно)чем больше проблем решает, тем более универсально.

Если проверка на валидность входных данных сделана на уровне языка, то это более универсальное решение чем на уровне IDE.
Если проверка на уровне IDE, то при смене IDE или на сервере CI данные ошибки не будут выявлены. Если сделано на уровне языка/компилятора, то ошибка будет отловлена в любом случае.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665500
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNто что придется писать контракт для переменной тоже - я понял сразу. но для сложных конрактов - вижу проблемы.пример?
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665501
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoDAZyK_BotaNчто ты понимаешь под словом универсально?

как по мне, дак наоборот. это не универсально
(но очень нужно)чем больше проблем решает, тем более универсально.

Если проверка на валидность входных данных сделана на уровне языка, то это более универсальное решение чем на уровне IDE.
Если проверка на уровне IDE, то при смене IDE или на сервере CI данные ошибки не будут выявлены. Если сделано на уровне языка/компилятора, то ошибка будет отловлена в любом случае.

)
я думаю, под универсально имелось ввиду, что можно не только нулы проверять
но и другие диапазоны значений.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665503
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoDAZyK_BotaNто что придется писать контракт для переменной тоже - я понял сразу. но для сложных конрактов - вижу проблемы.пример?
я не про нулы, а про контракты универсальные. там чего угодно можно воротить.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665511
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, ZyK_BotaN!

> дак я про контракты говорю.
> что они - тут не помогут.
>
> нужен notnull на уровне типов.

Да, он лучше. Но вводить его в яве- непросто.
Хотя если по-умолчанию вводить нуловость, а не-нуловость через другой
набор символов- всё проще.

--
Алексей
JID: alxt@ya.ru
Posted
via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665512
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_SamaraДобрый день, ZyK_BotaN!

> дак я про контракты говорю.
> что они - тут не помогут.
>
> нужен notnull на уровне типов.

Да, он лучше. Но вводить его в яве- непросто.
Хотя если по-умолчанию вводить нуловость, а не-нуловость через другой
набор символов- всё проще.

--
Алексей
JID: alxt@ya.ru
в жаве - по любас уже только нуловось можно вводить. все же совместимость.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665516
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, VoDA!

> в kotlin в сигнатуру функции входит контракт на null / not null. Это еще
> более универсально чем просто контракт через аннотации ;)

Универсальнее- это значит, что написав

@Pre(x>10)
@Post(Result < 5)
int func(int x) {...}

я получу всегда x>0, а вызывая всегда уверен, что результат меньше 5.
NotNull - частный случай.

--
Алексей
JID: alxt@ya.ru
Posted
via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665521
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

А ведь NotNull тоже можно объявить синтаксическим сахаром!

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
public final class NotNullReference<T> {
  public final T value;
  public NotNullReference(T value) {
    if (value == null)
      throw .......
    this.value = value;
  }
}

.......
  public void someMethod(NotNullReference<String> address) {
    ....
  }



--
Алексей
JID: alxt@ya.ru
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665535
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNя не про нулы, а про контракты универсальные. там чего угодно можно воротить.тут все хуже. даже в теории нет эффективного способа построения контрактов.

Т.е. можно разделить описанные тобой контракты на два вида.
Первый - ограничение доменной модели. @NotNull, @More, @Before, @Length и т.п. Давно сделано в виде JSR-303. Успешно работает.
Второе - описание контракта на входные данные по которым функция отработает гарантированно корректно .

Так вот поскольку нет математического определения что есть корректность работы функции, то и грамотного контракта для функции тоже нет. Теоретические подвижки в эту сторону ведутся довольно давно. И если теория математического обоснования корректности таки появится, то весь рынок программирования очень сильно изменится. Хотя ХЗ смогут ученые умы изобрести математический аппарат для подобного анализа или нет
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665544
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_Samara@Pre(x>10)
@Post(Result < 5)
int func(int x) {...}

не врубаюсь, чем это лучше
int func(int x) {
if x>10 или assert(x>10)
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665548
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoDAТак вот поскольку нет математического определения что есть корректность работы функции,
позже увидел. Ты уже всё разжевал.
+1
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665550
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_SamaraУниверсальнее- это значит, что написав

@Pre(x>10)
@Post(Result < 5)
int func(int x) {...}

я получу всегда x>0, а вызывая всегда уверен, что результат меньше 5.А чем это поможет в разработке программы? Я серьезно.

Что будет если x пришедший с внешней системы равен -7?
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665551
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123не врубаюсь, чем это лучше
int func(int x) {
if x>10 или assert(x>10)
Ну, в теориии, компилер не даст написать
func(200)
Т.е. ошибка из рантайма переносится в compile-time
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665553
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123VoDAТак вот поскольку нет математического определения что есть корректность работы функции,
позже увидел. Ты уже всё разжевал.
+1опять я успел в перед
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665568
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczPetro123не врубаюсь, чем это лучше
int func(int x) {
if x>10 или assert(x>10)
Ну, в теориии, компилер не даст написать
func(200)
Т.е. ошибка из рантайма переносится в compile-time
теперь хотя бы понял "замысел". :)
.....
func(200) ведь никто не пишет. А что там в переменной - один ....знает.
Это не семантика ЯП.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665582
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, Petro123!

>> @Pre(x>10)
>> @Post(Result < 5)
>> int func(int x) {...}
> не врубаюсь, чем это лучше
> int func(int x) {
> if x>10 или assert(x>10)

Предположим, что контракты в яве есть.
1. Информация попадает в javaDoc, видна даже если у тебя только .class
Это можно сделать с помощью AOP. Остальное через AOP не делается.

2. Начальная точка стэктрейса будет в вызывающем коде, а не в вызванном.

3. При перекрытии функции нельзя написать

@Pre(x>11)
@Post(Result < 6)

а можно

@Pre(x>7)
@Post(Result < 2)

Или, что понятнее, можно писать только
@PreOr(x>7)
@PostAnd(Result < 4)

--
Алексей
JID: alxt@ya.ru
Posted
via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665583
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123func(200) ведь никто не пишет. А что там в переменной - один ....знает.

Поэтому компилер применяет контракт и на переменную и на все методы из которых её значение появилось и так далее, до некоторого IO, где уже юзер пишет валидацию.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665584
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, VoDA!

> Что будет если x пришедший с внешней системы равен -7?

Исключение во _внешней_ системе.

--
Алексей
JID: alxt@ya.ru
Posted
via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665631
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
уж слишком всё заумно.
Мне на каждую входную Решение в коде принимать надо.
Это же не доменная статичная модель.
Единственная проблема с Null - можно подумать.
А остальные контракты - это БЛ, а не контракты.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665645
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczОзверинНе, не взлетит. Причина одна, но очень весомая: никто не хочет поддерживать зоопарк в архитектуре. А для новых проектов требуется веское обоснование выбора языка\платформа и тд.
Платформа - Java. Язык от Java почти не отличается. Так что это не проблемы. Проблема в том чтобы создать наработки, которыми общественность захотела бы пользоваться. И вот здесь у Redhat шансов поболе. Ну и нужны другие крупные компании, которые бы захотели использовать новый язык.

часто c++ вставки делаете в java?
если да, вам архитектор проекта спасибо выписывает регулярно?

Хотя по факту, вы перефразировали часть моих слов.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665648
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Мне на каждую входную Решение в коде принимать надо.
Ну, не обязательно. Компилер, в теории, может сам спроецировать контракт. На практике, конечно, это не везде выходит. Т.е. если у метода стоит ограничени на аргумент, то оно же соответсвенно должно быть у переменной, которая в этот аргумент попадает. И тебе контракт у переменной прописывать не обязательно.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665660
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверинчасто c++ вставки делаете в java?
C++ это не платформа. Например Жгруви. Есть задача, которая на нем решается проще, чем на Java? Вперед, пиши модуль на нем.

Озверинесли да, вам архитектор проекта спасибо выписывает регулярно?
Я сам себе спасибо? Ну, разве что в устной форме. :))

ОзверинХотя по факту, вы перефразировали часть моих слов.
Гослинг ещё черти когда заявил, что Java - отличная платформа. Как язык - говно.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665663
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, Petro123!

> Мне на каждую входную Решение в коде принимать надо.

А его и так принимать надо. У любой приличной java-функции контракт
описан в комментариях. Его надо просто перенести в контракт. Но, блин,
"чукча не читатель, чукча писатель"- авторы явы не знали, видимо,
ничего, кроме С++ :(

--
Алексей
JID: alxt@ya.ru
Posted
via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665695
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczОзверинчасто c++ вставки делаете в java?
C++ это не платформа. Например Жгруви. Есть задача, которая на нем решается проще, чем на Java? Вперед, пиши модуль на нем.

Озверинесли да, вам архитектор проекта спасибо выписывает регулярно?
Я сам себе спасибо? Ну, разве что в устной форме. :))

ОзверинХотя по факту, вы перефразировали часть моих слов.
Гослинг ещё черти когда заявил, что Java - отличная платформа. Как язык - говно.

я о платформе слово хоть сказал?:) Я говорил о зоопарке - это может быть что угодно, для чего требуются знания. Очевидная же проблема - сложность поддержки при неизвестной причине использования\внедрения(то есть расходы на поддержку довольно очевидно: обучения, сложности поиска новых сотрудников, а из чего складывается плюс зоопарка - черт его знает)
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665715
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_Samara,
контракт (надо вики смотреть) - это статика. Т.е. при изменении контракта - рефакторинг кода.
Для этого есть сигнатура метода\параметры\типизация.
Т.е. контракт = интерфейс = или труба по перекачке данных.
Можно обязать контракт на диаметр трубы, но не на содержимое в трубе.
IMHO.
Если будет тип входных данных Дата - будем проверять аннотацией по григорианскому?
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665742
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, Petro123!

> контракт (надо вики смотреть) - это статика. Т.е. при изменении
> контракта - рефакторинг кода.

Да.

> Если будет тип входных данных Дата - будем проверять аннотацией по
> григорианскому?

Чем описывать - дело десятое. Всё одно в яве их нет.
Можно и на дату ввести ограничение- например метод, принимающий дату
рождения, может запретить даты больше текущей ;)

--
Алексей
JID: alxt@ya.ru
Posted
via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37665873
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_SamaraМожно и на дату ввести ограничение- например метод, принимающий дату
рождения, может запретить даты больше текущей ;)
ага.. и аннотацию
@Alert(MessageBox\Raise\ТихоСъесть\ОтправитьПоМылу)
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37666024
Valery Shiskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JetBrains надо делать деньги на продаже IDE. Им нужен позарез промежуточный язык для создания редакторов других языков, особенно, если в проекте допускается использование двух и более языков. Трудно создавать редактор для Scala (что мы и наблюдаем во всех IDE), имея в качестве базового только Java.
Это не мое мнение - это один из первых пунктов в объянении jetBrains "для чего им нужен новый язык".
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37666144
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoDA
Компания JetBrains объявила об

Дальше можно не читать. Начхать на всё, что она может объявить (я только посмотрел немного комментарии - ничего особенного).
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37666237
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery ShiskinJetBrains надо делать деньги на продаже IDE. Им нужен позарез промежуточный язык для создания редакторов других языков, особенно, если в проекте допускается использование двух и более языков. Трудно создавать редактор для Scala (что мы и наблюдаем во всех IDE), имея в качестве базового только Java.
Это не мое мнение - это один из первых пунктов в объянении jetBrains "для чего им нужен новый язык".тогда для чего они делают плагин Kotlin для Eclipse?

Пока IDEA им приносит доход они будут развивать ее, как только перестанет - будут продавать другой ПО или услуги. Тот же самый continious integration в облако загонят. На текущий момент у них достаточно профессионалов чтобы делать проекты довольно высокой сложности. Потому Kotlin им нужен для того чтобы самим писать много-много-много продакшен кода. А чтобы язык жил и развивался нужна аудитория.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37666239
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_SamaraЧем описывать - дело десятое. Всё одно в яве их нет.
Можно и на дату ввести ограничение- например метод, принимающий дату
рождения, может запретить даты больше текущей ;)В java легко реализуется и уже сделан контракт на данные - Bean Validation.

А где есть контракт на вызов функции и насколько это помогает в реальной разработке?
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37666549
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, VoDA!

> А где есть контракт на вызов функции и насколько это помогает в реальной
> разработке?

Есть в eiffel. Используют его нечасто- там свои тараканы, в частности
нет бесплатных хороших компиляторов.
Я пытался кое-ка это прикрутить к delphi и java - забавно, но полностью
реализовать невозможно (в частности из-за наследования).

--
Алексей
JID: alxt@ya.ru
Posted
via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37666822
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_SamaraДобрый день, VoDA!

Я пытался кое-ка это прикрутить к delphi и java - забавно, но полностью
реализовать невозможно (в частности из-за наследования).Можно сделать на базе Spring через проксирование, а сами контракты прописывать аннотациями или через applicationContext.

Только основной мой вопрос остался не отвеченным - какие действительные проблемные ситуации это решает в продакшен системах? как часто эти проблемные ситуации проявляются?

и собственно сравнить затраты времени на поддержание контрактной системы и на поиск одного-двух багов, которые подпадают под эти контракты.

Есть какие нибудь данные на эту тему?


PS мысль, что если бы контракты реально помогали их запилили бы довольно давно
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37666837
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoDAМожно сделать на базе Spring через проксирование, а сами контракты прописывать аннотациями или через applicationContext.
Oval как-то давно никто не вспоминает. Ну, и, в рантайме не так интересно.

VoDAТолько основной мой вопрос остался не отвеченным - какие действительные проблемные ситуации это решает в продакшен системах? как часто эти проблемные ситуации проявляются?
Идея такая, что исключение возникает не в том месте где используются невалидные данные, а в том где они только появляются.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37666862
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczVoDAМожно сделать на базе Spring через проксирование, а сами контракты прописывать аннотациями или через applicationContext.
Oval как-то давно никто не вспоминает. Ну, и, в рантайме не так интересно.

VoDAТолько основной мой вопрос остался не отвеченным - какие действительные проблемные ситуации это решает в продакшен системах? как часто эти проблемные ситуации проявляются?
Идея такая, что исключение возникает не в том месте где используются невалидные данные, а в том где они только появляются.
Присоединяюсь к вопросу VoDA.
Я когда пытался работать с Oval (это было давно) был сильно разочарован тем, что мне приходится вручную валидацию вызывать. Т.е. мне бы хотелось это делать автоматически (VoDA об этом, насколько я понимаю) - чтобы исключение кидалось на вызов setter'а.

Возможно, это реализуемо в Scala через какие-нибудь плагины к компилятору.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37666960
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczИдея такая, что исключение возникает не в том месте где используются невалидные данные, а в том где они только появляются.А что мешает для всех сущностей написать сеттеры проверяющие валидность данных? как только собрали не валидную сущности, так сразу получили эксепшен...

понятно что Runtime-time слабее Compite-time, но даже так можно достигнуть поставленной задачи.

на той же Scala можно вместо базовых типов применять собственные типы, которые содержат ограничения. тогда можно и компилятором проверки делать.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37666997
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczVoDAСвойства в Kotlin есть, но я не увидел их как First Class Property. потому пока можно пользоваться свойством, но нельзя сослаться на свойство :(Блин :(Есть надежда

В комментариях одного из разработчиков нашел псевдо-код:
Код: java
1.
val prop = a#foo

Причем планируется и ссылка на конкретное свойство конкретного объекта и экстеншен свойства.

a#b gives you a property object that you can read from/write to, and
A#b give you an extension property object that you can call on instances of A

Для ORM и обычных нужд нужны A#b, т.е. extention properties. Это аналог java.lang.reflect.Method для Kotlin.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37667007
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoDAА что мешает для всех сущностей написать сеттеры проверяющие валидность данных? как только собрали не валидную сущности, так сразу получили эксепшен.
Ничего не мешает. Поэтому никто и не пользуется.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37667047
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczVoDAА что мешает для всех сущностей написать сеттеры проверяющие валидность данных? как только собрали не валидную сущности, так сразу получили эксепшен.
Ничего не мешает. Поэтому никто и не пользуется.значит удобство от такого рода контрактов перекрывается геморроем по поддержанию контрактов, т.е. контракты не выгодны. по крайней мере в текущей их реализации.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37667705
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитал все эти нуль-стенания, подумал ...
Вроде бы, можно закрыть NPE и, вроде бы, с минимальными накладными расходами или вообще без оных.

Проверка соответствия типов всё равно выполняется, так что определить "это null" - придётся, остаётся как-то выкрутиться, если null пришёл туда, где анонсировано его недопустимость.

Если у класса есть "конструктор по умолчанию", то при загрузке класса среда исполнения может создать статический объект, а затем установить атрибут доступа "только чтение" на уровне VMM. Чтобы не получать AV - игнорируем запись в такие объекты. Пока, вроде, ничего неосуществимого и ничего ресурсоёмкого.
Дальше всё относительно просто - "приводим null к RO-объекту подходящего типа".

Но есть ньюанс.
Накойхер (фамилие такое) заменять исключение на трудноуловимую семантическую ошибку?

P.S. Да, я помню, что исключение должно кидаться тому, кто прислал null в непотребное место, но неужели так много желающих выкинуть весь или почти весь сторонний код?
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37668134
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovПроверка соответствия типов всё равно выполняется, так что определить "это null" - придётся, остаётся как-то выкрутиться, если null пришёл туда, где анонсировано его недопустимость.

P.S. Да, я помню, что исключение должно кидаться тому, кто прислал null в непотребное место, но неужели так много желающих выкинуть весь или почти весь сторонний код?задача в том, чтобы null не мог придти туда, где его не ждут. в Kotlin это реализуется контрактом и статической проверкой.

в том же Kotlin сторонний код можно выполнять, что при совмещении типов придется провести ОДНУ проверку на null. в java проверки на null приходится раскидывать по всему коду. и даже в этом случае периодически подрываешься на NPE когда начинаешь использовать старый функционал чуть по другому.

PS был случай когда часть свойств в Entity завернули в embedded. каково же было мое удивление когда рабочий код в другой подсистеме начал взрываться от NPE. оказалось, что embedded может не инициализироваться если все поля пустые.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37668460
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoDA,
да, отложенная инициализация в Java действительно проблема.
Я вот думаю, почему её нет (нет?) в других ЯП.
Вероятно, потому, что парадигма - распределённый межсистемный код. Или так сказать - межгетерогенный код (через Веб-медленный канал).
Тут действительно нужен опыт из других сетевых ЯП.
По крайней мере, было бы замечательно, чтобы эта _техническая проблема_ не торчала снаружи как пример аннотаций @МодельТранзакции.
Как пример, инкапсуляции таких проблем, в Get или Property добавить код
if Obj = Null then new Obj
Верхние слои понятия не имеют в какой момент объект будет создан.
Провда, учитывать ЭТО программисту тоже приходится - что есть минус.
VoDAв том же Kotlin сторонний код можно выполнять, что при совмещении типов придется провести ОДНУ проверку на null
мож я пропустил, как и где там делается?
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37669138
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123VoDAв том же Kotlin сторонний код можно выполнять, что при совмещении типов придется провести ОДНУ проверку на nullмож я пропустил, как и где там делается?Это принцип

в Kotlin переменные удобно и практично определять как Int, String. Т.е. notnull переменные. Любой возврат из java кода расценивается как Int? и String? т.е. nullable переменные. из одной переменной в другую записать можно только после проверки на null.


PS попробовал на Kotlin писать код. Действительно удобно. А главное зная java на kotlin начинаешь программировать уже минут через 5-7. максимум это понять какие есть ключевые слова типа 'in'.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37669426
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoDAзадача в том, чтобы null не мог придти туда, где его не ждут. в Kotlin это реализуется контрактом и статической проверкой.Где гарантия, что код не может нарушать контракт?

P.S. Если бы всё было так просто - доказательство корректности программ уже вовсю использовалось бы.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37669447
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovVoDAзадача в том, чтобы null не мог придти туда, где его не ждут. в Kotlin это реализуется контрактом и статической проверкой.Где гарантия, что код не может нарушать контракт?

P.S. Если бы всё было так просто - доказательство корректности программ уже вовсю использовалось бы.ты сильно не прав.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37669759
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovVoDAзадача в том, чтобы null не мог придти туда, где его не ждут. в Kotlin это реализуется контрактом и статической проверкой.Где гарантия, что код не может нарушать контракт?

P.S. Если бы всё было так просто - доказательство корректности программ уже вовсю использовалось бы.Тут пробралось недопонимание. Спешу его развеить Kotlin поддерживает только контракт уровня java плюс проверка NotNull/Nullable.

Контракт в том смысле как вы его указали (т.е. контракт для математического обоснования валидности приложения) в kotlin нет. Как нет и в других языках.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37669880
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в принципе, кардинально ничего особо не меняется. Поэтому контракты так мало распространены.
(я сам assert() как то мало пишу - обрабатываю руками индивидуально)
Code Contracts в .NET 4.0
http://habrahabr.ru/blogs/net/91243/
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
public class Order
{
    List<OrderItem> orderedItems = new List<OrderItem>();
    decimal orderPrice = 0;
    public void MakeNewOrder(OrderItem orderItem)
    {
      // precondition
      Contract.Requires<ArgumentNullException>(orderItem != null);
      Contract.Requires(Contract.ForAll(orderedItems, p => p != orderItem));
      // postcondition
      Contract.Ensures(Contract.Exists(orderedItems, p => p == orderItem));
      Contract.Ensures(orderPrice > Contract.OldValue(orderPrice));
      orderedItems.Add(orderItem);
      orderPrice += orderItem.Price;
    }

    [ContractInvariantMethod]
    private void ObjectInvariant()
    {
      Contract.Invariant(orderPrice > 0);
    }    
}
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37669894
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123(я сам assert() как то мало пишу - обрабатываю руками индивидуально)
[/src]
assert'ы к контрактному программированию никакого отношения не должны иметь. У них вообще очень ограниченная область применения - проверять такое, чего просто не может быть никогда. Использовать можно только в private методах и только при отладке/тестировании. Обычно они отключены, так что еще стоит помнить об этом.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37669912
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeonidvPetro123(я сам assert() как то мало пишу - обрабатываю руками индивидуально)
[/src]
assert'ы к контрактному программированию никакого отношения не должны иметь. У них вообще очень ограниченная область применения - проверять такое, чего просто не может быть никогда. Использовать можно только в private методах и только при отладке/тестировании. Обычно они отключены, так что еще стоит помнить об этом.
это ваше imho.
У меня, Вики, и других оно другое.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37669941
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Leonidvassert'ы к контрактному программированию никакого отношения не должны иметь. У них вообще очень ограниченная область применения - проверять такое, чего просто не может быть никогда. Использовать можно только в private методах и только при отладке/тестировании. Обычно они отключены, так что еще стоит помнить об этом.
это ваше imho.
У меня, Вики, и других оно другое.Это мнение Sun которая и ввела assert-ы в язык. И их официальная рекомендация ;)
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37669946
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кста, я хоть немного конкретики-кода внёс в обсуждение.
Самый прикол, что быстрее нашёл его в Net, а не в Kotlin.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37669991
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123У меня, Вики, и других оно другое.
У тех, кто читает вики и других - возможно. У тех, кто читает документацию, оно такое же, как у меня:
http://docs.oracle.com/javase/1.4.2/docs/guide/lang/assert.html
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37670025
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonidv
ты программист?
Приведи разницу в коде.
Если разница будет очевидна, то то слово assert в данном топике не упоминаем.
Если есть общность \ этапы перехода на контракты, то не флеймь.
Нужно не только ссылки давать, а делать выводы по ним.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37670030
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123кста, я хоть немного конкретики-кода внёс в обсуждение.
Самый прикол, что быстрее нашёл его в Net, а не в Kotlin.конкретика это хорошо. в Net что контракты есть это тоже хорошо. через пару-тройку лет станет очевидно имеет это хоть какое нибудь преимущество или тупо повышает трудозатраты без реальных бонусов. ;)
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37670040
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Нужно не только ссылки давать, а делать выводы по ним.
Ну так возьми и сделай.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37670049
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeonidvPetro123Нужно не только ссылки давать, а делать выводы по ним.
Ну так возьми и сделай.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37670051
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonidv,
флейм?
______________________________________________
"Не понял" от Лёни 11906276 и чем всё закончилось 11910058
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37670054
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoDAPetro123кста, я хоть немного конкретики-кода внёс в обсуждение.
Самый прикол, что быстрее нашёл его в Net, а не в Kotlin.конкретика это хорошо. в Net что контракты есть это тоже хорошо. через пару-тройку лет станет очевидно имеет это хоть какое нибудь преимущество или тупо повышает трудозатраты без реальных бонусов. ;)
да.
Я когда копал, увидел там спринг-контракты 8-). Но инфы практически никакой.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37670844
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNты сильно не прав.В чём?
В ограниченности статической верификации?
В несоответствии контракта условиям эксплуатации?
В наличии злоумышленников?
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37670855
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovZyK_BotaNты сильно не прав.В чём?
В ограниченности статической верификации?
В несоответствии контракта условиям эксплуатации?
В наличии злоумышленников?
в том, что не считаешь ее полезной. а хочешь каких-то мифических возможностей.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37670889
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNв том, что не считаешь ее полезной.Чтобы это всё стало полезным - должно существенно измениться соотношение времён на разработку/отладку и тестирование.а хочешь каких-то мифических возможностей.Я привожу несложные примеры на которых будет ломаться статическая проверка контрактов.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37670969
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovЯ привожу несложные примеры на которых будет ломаться статическая проверка контрактов.
- доктор, мне больно, когда я делаю так.
- не делайте так.
...
Рейтинг: 0 / 0
Новый язык для java разработчиков - Kotlin
    #37671011
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaN- не делайте так.Вот поэтому контракты и не используются ;)
...
Рейтинг: 0 / 0
118 сообщений из 118, показаны все 5 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Новый язык для java разработчиков - Kotlin
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]