|
|
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Opennet.ruКомпания JetBrains объявила об открытии кода компонентов, связанных с реализацией языка программирования Kotlin. Самое интересное: Изначальной целью проекта было создание максимально совместимого с Java языка программирования, одновременно лишённого ограничений и недостатков Java, от которых Java не может избавиться из-за необходимости обеспечения обратной совместимости. Бонусы нового языка: отсутствие NPE. проводится через проверку типов на нуллы и запрет присвоение переменной значения null если она объявлена как "не содержащая null". компилятор проверяет обработку проверки на null у null-не-защищенных ссылок. функции высшего порядка делегирование примеси вывод типов дополнительные приятный фишечки: встроенная поддержка проперти замыкания Основной бонус - возможность полного двунаправленного взаимодействия с java. т.е. можно как из java вызывать kotlin, так и наоборот. Как я понял разработчиков этот язык нацелен на нишу java. По мне у этого языка есть шансы "взлететь". А вы как думаете, коллеги? ---- - Just Do IT! (c) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 01:05:47 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Интересная статья на эту тему: http://www.osp.ru/os/2011/09/13011550/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 01:23:53 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
VoDAOpennet.ruКомпания JetBrains объявила об открытии кода компонентов, связанных с реализацией языка программирования Kotlin. Самое интересное: Изначальной целью проекта было создание максимально совместимого с Java языка программирования, одновременно лишённого ограничений и недостатков Java, от которых Java не может избавиться из-за необходимости обеспечения обратной совместимости. Бонусы нового языка: отсутствие NPE. проводится через проверку типов на нуллы и запрет присвоение переменной значения null если она объявлена как "не содержащая null". компилятор проверяет обработку проверки на null у null-не-защищенных ссылок. функции высшего порядка делегирование примеси вывод типов дополнительные приятный фишечки: встроенная поддержка проперти замыкания Основной бонус - возможность полного двунаправленного взаимодействия с java. т.е. можно как из java вызывать kotlin, так и наоборот. Как я понял разработчиков этот язык нацелен на нишу java. По мне у этого языка есть шансы "взлететь". А вы как думаете, коллеги? ---- - Just Do IT! (c) используйте скалу, и будет вам счастье... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 01:50:36 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
а вообще, на счет нул поинтереов - очень рад за язык. вот не понимаю, как в такой высокоуровневый язык как жава - попало это понятие, от которого даже скрыться нельзя. тебе в любой метод могут передать нул(если там не примитивные типы конечно) а это не дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 01:55:01 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNвот не понимаю, как в такой высокоуровневый язык как жава - попало это понятие, от которого даже скрыться нельзя.на момент создания языка возможность нулла в переменной было естественным. а дальше обратная совместимость. Фактически у Oracle два варианта дальнейшего развития java как языка это либо забить на обратную совместимость и сделать Java X. но на подобный ход они вряд ли пойдут. Либо создать новый java и JVM совместимый язык и мигрировать на него, а базовая java останется для back-compatibility и old-legacy кода. Второй вариант более вероятен. Об этом можно судить по тому, как еще Sun стремился сделать JVM многоязычной платформой. Этим они развязывают себе руки по смене языка каждые 15-20 лет при бесшовной миграции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 02:15:47 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
VoDAZyK_BotaNвот не понимаю, как в такой высокоуровневый язык как жава - попало это понятие, от которого даже скрыться нельзя.на момент создания языка возможность нулла в переменной было естественным. а дальше обратная совместимость. вот тот же мл был, могли от туда стырить. т.е. разъясните мне естественность его использования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 02:18:17 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
VoDA, VoDAНовый язык для java разработчиков Вот же блин! Мы ещё старые-то не все выучили, а тут... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 11:47:25 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
JetBrains, вроде идею будет понемногу на Kotlin переводить. JBoss, интересно, тоже всё на свой цейлон перепишут. Ктобы оба пощупал для сравнения. Кстати, замыканий в Kotlin, кажется пока нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 11:50:00 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
В одном из последних выпусках Radio-T гостем был один из продвигателей :) или основателей ли Kotlin - интересно было послушать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 12:04:46 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNвот тот же мл был, могли от туда стырить. т.е. разъясните мне естественность его использования.java язык который должен был захватить часть С++ программистов. без этого он бы умер не родившись. в С++ null указатель - норма, потому в java взяли ту же модель. МЛ наверняка круто и полный Ъ, но что сейчас что раньше (в момент создания java) вакансий на него было около нуля. потому на него особо не ориентируются при создании production языков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 12:26:29 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
VoDAОб этом можно судить по тому, как еще Sun стремился сделать JVM многоязычной платформой Мне кажется,у Sun другие мотивы были. Если JVM всегда была именно J и другие языки не особо поддерживались, то развитие CLI показало преимущества нескольких языков. Плюс, где-то в это время стали достаточно альтернативные языки типа JRuby, Groovy и Scala. Свою роль сыграло развитие DSL. Думаю, именно это послужило поводом для поддержки нескольких языков JDK, а затем в JVM. Не совсем понятно, что именно мешает Oracle вообще забить на Java как ня язык и оставить только JVM. Пусть Java остается базовым языком платформы, но лично я смысла развивать его - не вижу. Со своими задачами простого языка он справляется хорошо, а при необходимости на JVM есть уже ряд устоявшихся языков, пригодных для решения различных задач. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 12:27:20 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
BlazkowiczJetBrains, вроде идею будет понемногу на Kotlin переводить. JBoss, интересно, тоже всё на свой цейлон перепишут. Ктобы оба пощупал для сравнения.сначала Kotlin перепишут на Kotlin (не шутка!) и только набрав большое количество кода на Kotlin стабилизируют синтаксис и выпустят в продакшен. А щупать для сравнения лучше после выхода релизов. Что котлин что цейлон имеют ... сложно сопоставимые нюансы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 12:29:08 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
LeonidvНе совсем понятно, что именно мешает Oracle вообще забить на Java как ня язык и оставить только JVM. Пусть Java остается базовым языком платформы, но лично я смысла развивать его - не вижу. Со своими задачами простого языка он справляется хорошо, а при необходимости на JVM есть уже ряд устоявшихся языков, пригодных для решения различных задач. Дык нет адекватных. Либо скала с общеизвестными граблями. Либо тормозные скрипты на рефлексии с ног до головы. Отсюда все эти котлины и цейлоны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 12:30:49 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
BlazkowiczКстати, замыканий в Kotlin, кажется пока нет.Следующая конструкция напоминает замыкание. Призываю ZyK_BotaN и других знатоков подтвердить или опровергнуть замыкание это или нет. Код: java 1. Другое дело, что kotlin не ввели замыкание как элемент языка, а применили функции высших порядков и синтаксический сахар. получилось мощно и красиво: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. использованы следующие "сахарки": 1. если параметр функции один, то можно не присваивать имя переменной. тогда используется имя по умолчанию - it 2. если последний параметр функции - функция, то ее описание можно вынести из круглых скобок '()'. Если при этом у функции больше нет параметров, то круглые скобки можно вообще не указывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 12:41:09 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Прочитал статьи про Котлин и, если честно, не понял ни преимуществ перед "чиста-канкретна" джавой, ни недостатков - в основном речь о синтаксисе и каких-то небольших изменениях, мелких улучшениях. Но пока как-то не видно в чем цимес Котлина, в чем "прорыв", шаг вперед, новая технология и т.п. Чего-то мне кажется, что оракл хоть и трепыхается, купив джаву, а ничего существенного и прорывного для расширения своего рынка предложить пока не может... Чего-то как-то не показалось, что Котлин им поможет в расширении рынка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 12:50:29 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
LeonidvСвою роль сыграло развитие DSL. Думаю, именно это послужило поводом для поддержки нескольких языков JDK, а затем в JVM.насколько я знаю JDK поддерживает только один язык. Для других требуются их собственные SDK. LeonidvНе совсем понятно, что именно мешает Oracle вообще забить на Java как ня язык и оставить только JVM. Пусть Java остается базовым языком платформы, но лично я смысла развивать его - не вижу. Со своими задачами простого языка он справляется хорошо, а при необходимости на JVM есть уже ряд устоявшихся языков, пригодных для решения различных задач.Еще в бытность Sun он забил на развитие java как языка. сейчас Oracle пытается догнать конкурентов хотя бы в роли базового языка. что Oracle будет делать дальше - посмотрим. Возможно начнут заимствовать интересные фичи из языков типа Ceylon/Kotlin. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 12:58:53 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
m77Прочитал статьи про Котлин и, если честно, не понял ни преимуществ перед "чиста-канкретна" джавой, ни недостатков - в основном речь о синтаксисе и каких-то небольших изменениях, мелких улучшениях. Но пока как-то не видно в чем цимес Котлина, в чем "прорыв", шаг вперед, новая технология и т.п. Две основные проблемы, которые решают Kotlin и Ceylon и не решает Java, это - Превентивная борьба с вездесущим NPE. Если в Java системе null значения легко разбегаются по всеме проетку. То в Kotlin \ Ceylon разработчик строго контролирует где у него могут быть null значения и минимизирует их распространение. Что сводит проверки на null к минимуму. Вот есть 10 методов по стеку с одним аргументом. И уже не надо в каждом методе проверять. Только в первом. И это уже контролируется на уровне компиляции! - Свойства и указатели на функции. Без этого очень страдает как ORM так и многие другие движки на рефлексии - биндинг, IoC и т.п. Мы вынуждены везде писать свойства строкой, а не прямой ссылкой на свойство. Поэтому нет ни праверки что имя написано правильно, ни проверки на тип свойства во время компиляции. Лично для меня остальное всё мелкие плюшки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 13:00:15 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
VoDAДругое дело, что kotlin не ввели замыкание как элемент языка, а применили функции высших порядков и синтаксический сахар. получилось мощно и красиво: Получилось как у и других (Groovy (оттуда it), Scala - оттуда все остальное). Не знаю, мне грабли Scala не особо известны. Только сложность вхождения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 13:02:06 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
m77Чего-то мне кажется, что оракл хоть и трепыхается, купив джаву, а ничего существенного и прорывного для расширения своего рынка предложить пока не может... JavaFX это попытка расширить рынок - занят сегменты, в которых Java пока не валялась. Ничего хорошего из этого не получается. Девелоперам нужно обратное - более хорошие решения в уже существующем сегменте. m77Чего-то как-то не показалось, что Котлин им поможет в расширении рынка. Kotlin разработка JetBrains Ceylon - RedHat ни те ни другие с Oracle не связаны ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 13:03:11 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
VoDALeonidvСвою роль сыграло развитие DSL. Думаю, именно это послужило поводом для поддержки нескольких языков JDK, а затем в JVM.насколько я знаю JDK поддерживает только один язык. Для других требуются их собственные SDK. Если в состав JDK включать компилятор, то да. Если только VM+API, то нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 13:05:23 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
LeonidvНе знаю, мне грабли Scala не особо известны. Уже много раз обсуждали в темах по Scala и ссылки приводили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 13:06:39 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Blazkowicz- Свойства и указатели на функции. Без этого очень страдает как ORM так и многие другие движки на рефлексии - биндинг, IoC и т.п. Мы вынуждены везде писать свойства строкой, а не прямой ссылкой на свойство. Поэтому нет ни праверки что имя написано правильно, ни проверки на тип свойства во время компиляции.Свойства в Kotlin есть, но я не увидел их как First Class Property. потому пока можно пользоваться свойством, но нельзя сослаться на свойство :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 13:24:52 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
VoDAСвойства в Kotlin есть, но я не увидел их как First Class Property. потому пока можно пользоваться свойством, но нельзя сослаться на свойство :( Блин :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 13:39:54 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
BlazkowiczLeonidvНе знаю, мне грабли Scala не особо известны. Уже много раз обсуждали в темах по Scala и ссылки приводили. Я их читал. Не считаю, там что-то такое ужасное было, что мешает использовать Scala в проектах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 13:47:53 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
LeonidvЯ их читал. Не считаю, там что-то такое ужасное было, что мешает использовать Scala в проектах.так никто и не мешает. язык стоит использовать если он ПОМОГАЕТ. и при этом не создает серьезных трудностей в изучении, применении и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 14:26:22 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
BlazkowiczJavaFX это попытка расширить рынок - занят сегменты, в которых Java пока не валялась. Ничего хорошего из этого не получается. Вообще ощущение, что оракл, собственно, ничего путного из покупки джавы не извлек. И не понятно что извлечет. BlazkowiczДевелоперам нужно обратное - более хорошие решения в уже существующем сегменте. Ну да... Только котлин в этом плане на первый взгляд не производит впечатления существенного улучшения - так, по мелочам... Как-то кажется, что сегмент пользователей у него будет не большим. Субьективно, конечно, но почему-то именно так кажется... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 14:30:18 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
m77Ну да... Только котлин в этом плане на первый взгляд не производит впечатления существенного улучшения - так, по мелочам... Как-то кажется, что сегмент пользователей у него будет не большим. Субьективно, конечно, но почему-то именно так кажется... Вот как раз поэтому Котлин/Цейлон и может выстрелить. В отличии от перескриптовоного Groovy и требующей времени на изучение Scala, Котлин/Цейлон может предложить достаточно улучшений по умеренной цене, чтобы стать интересным для миграции большого количества Java-программистов. Правда Java 8 может составить им сильную конкуренцию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 14:48:28 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
VoDAZyK_BotaNвот тот же мл был, могли от туда стырить. т.е. разъясните мне естественность его использования.java язык который должен был захватить часть С++ программистов. без этого он бы умер не родившись. в С++ null указатель - норма, спорно. у с++ было два способа обойти проблему нула: -передача по значению -ссылка а джавистов этих способов - лишили ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 14:50:43 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
LeonidvПравда Java 8 может составить им сильную конкуренцию. Какую ещё конкуренцию? Там кроме лямбд что нового на уровне языка? А с выходом Java 8, Kotlin и Ceylon добавят эти лямбды себе с поддержкой на уровне JVM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 14:52:32 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Не, не взлетит. Причина одна, но очень весомая: никто не хочет поддерживать зоопарк в архитектуре. А для новых проектов требуется веское обоснование выбора языка\платформа и тд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 14:58:38 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
ОзверинНе, не взлетит. Причина одна, но очень весомая: никто не хочет поддерживать зоопарк в архитектуре. А для новых проектов требуется веское обоснование выбора языка\платформа и тд. Платформа - Java. Язык от Java почти не отличается. Так что это не проблемы. Проблема в том чтобы создать наработки, которыми общественность захотела бы пользоваться. И вот здесь у Redhat шансов поболе. Ну и нужны другие крупные компании, которые бы захотели использовать новый язык. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 15:05:57 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
LeonidvПравда Java 8 может составить им сильную конкуренцию.только если в версии 9-10, который выйдут через 3 и 5 лет соответственно. First Class Property даже в 8-ке не делают. Максимум что смогли это костыльные мета-классы для JPA 2.0 защиту от NPE в java вообще не сделают будут поддерживать обратную совместимость, т.е. никогда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 15:12:54 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
ОзверинНе, не взлетит. Причина одна, но очень весомая: никто не хочет поддерживать зоопарк в архитектуре. А для новых проектов требуется веское обоснование выбора языка/платформа и тд.тут и кроется основной бонус Цейлон/Котлин - они обеспечивают возможность совмещать код на java с ceylon/kotlin. Т.е. можно безболезненно писать код на Котлине в больших java проектах или подменять java код на kotlin без фатального рефакторинга проекта. из за "проблем" с "пропертями" в одном из проектов вместо гет/сет сделали public поля и счастье поскольку во внешний API данные классы не идут, то когда понадобится override для "проперти", тогда и сделаем гет/сет. на котлине (будь он production-ready) многие вещи можно переписать улучшив читаемость и качество кода. что только в плюс проекту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 15:18:14 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
VoDAзащиту от NPE в java вообще не сделают будут поддерживать обратную совместимость, т.е. никогда. В виде @Nullable - никогда. А в виде @NotNull (JSR-305) обсуждалось ещё для Java 7. Так что в 9ку может и попасть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 15:18:21 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Читать так: LeonidvПравда Java 8 может составить им сильную конкуренцию.только если в версии 9-10, который выйдут через 3 и 5 лет соответственно First Class Property в 8-ке даже не планируют. Максимум что смогли это костыльные мета-классы для JPA 2.0 защиту от NPE в java вообще не сделают пока будут поддерживать обратную совместимость, т.е. никогда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 15:19:37 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
VoDAиз за "проблем" с "пропертями" в одном из проектов вместо гет/сет сделали public поля и счастье поскольку во внешний API данные классы не идут, то когда понадобится override для "проперти", тогда и сделаем гет/сет. У полей проблемы не только с перегрузкой. Там ещё с рефакторингом какой-то геморрой был. Не помню уже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 15:20:02 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
BlazkowiczVoDAиз за "проблем" с "пропертями" в одном из проектов вместо гет/сет сделали public поля и счастье поскольку во внешний API данные классы не идут, то когда понадобится override для "проперти", тогда и сделаем гет/сет. У полей проблемы не только с перегрузкой. Там ещё с рефакторингом какой-то геморрой был. Не помню уже. И с отладкой ещё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 15:20:26 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
BlazkowiczVoDAзащиту от NPE в java вообще не сделают будут поддерживать обратную совместимость, т.е. никогда. В виде @Nullable - никогда. А в виде @NotNull (JSR-305) обсуждалось ещё для Java 7. Так что в 9ку может и попасть.Значит аннотациями... да, тогда могут и сделать :) 9-ка планируется через 3,5 года от момента сейчас, котлин в продакшене будет через год. итого два с половиной года на захват java-программистов PS самый клевый бонус 8-ки это модульность и jugsaw. Если Oracle-овцы сделают, то уже молодцы =))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 15:22:47 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
VoDAPS самый клевый бонус 8-ки это модульность и jigsaw. И какая от них практическая польза? VoDAЕсли Oracle-овцы сделают, то уже молодцы =))) Кто сделают? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 15:27:38 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Добрый день, VoDA! > Максимум что смогли это костыльные мета-классы для JPA 2.0 А это что такое? > защиту от NPE в java вообще не сделают будут поддерживать обратную > совместимость, т.е. никогда. Контракты, контракты, контракты! Конечно notNull это круче, зато контракты универсальные и поверх них легко прикрутить проверку кода легко. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 15:30:36 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
GKS_SamaraДобрый день, VoDA! Контракты, контракты, контракты!Привет! А можно пример контракта, который статичен и проверяется компилятором в момент сборки проекта? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 15:41:31 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 15:48:25 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
BlazkowiczИ какая от них практическая польза? Подведу итог: отсутствие classpath и его болезней большая часть работы maven будет реализована прямо в JDK jugsaw в некотором смысле аналог OSGi появится возможность сделать API проекта вероятно вылечат jar-hell проблему diamond зависимостей сам JRE станет модульным модульность JavaEE серверов когда сервер будет запускать/останавливать подсистемы по дескриптору зависимостей приложения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 15:50:40 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
VoDAGKS_SamaraДобрый день, VoDA! Контракты, контракты, контракты!Привет! А можно пример контракта, который статичен и проверяется компилятором в момент сборки проекта?ага. как по мне, дак реализация таких контрактов спотыкается об локальные переменные. пример method1(arg) - принимает не нулл method2() - возвращает не нулл. пример кода: method1(method2()) - статическая проверка может сработать. второй(для меня более предпочтительный) пример: resm2 = method2() method1(resm2) -вот здесь, уже не знаю как контракты на статически смогут сработать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 15:53:23 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Добрый день, VoDA! > А можно пример контракта, который статичен и проверяется компилятором в > момент сборки проекта? Нет. Но достаточно проверки средой разработки. Сейчас это не проблема. Ещё раз- статические проверки лучше, но контракты универсальнее. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 15:54:01 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Добрый день, ZyK_BotaN! > второй(для меня более предпочтительный) пример: > resm2 = method2() > method1(resm2) > -вот здесь, уже не знаю как контракты на статически смогут сработать. assert -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 15:54:51 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
GKS_SamaraДобрый день, ZyK_BotaN! > второй(для меня более предпочтительный) пример: > resm2 = method2() > method1(resm2) > -вот здесь, уже не знаю как контракты на статически смогут сработать. assert -- Алексей JID: alxt@ya.ruможно по подробней. я именно про то, как реализовать для такого случая "статическую проверку" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 15:55:33 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
GKS_SamaraДобрый день, VoDA! > А можно пример контракта, который статичен и проверяется компилятором в > момент сборки проекта? Нет. Но достаточно проверки средой разработки. Сейчас это не проблема. Ещё раз- статические проверки лучше, но контракты универсальнее. -- Алексей JID: alxt@ya.ru они то универсальней, и поэтому имеют право на жизнь. но в случае notNull типов - хотелось бы именно статической проверки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 15:56:51 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
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. ровно также статически проверяются ошибки при работе с функциями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:00:32 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
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. ровно также статически проверяются ошибки при работе с функциями.дак я про контракты говорю. что они - тут не помогут. нужен notnull на уровне типов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:01:36 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
GKS_SamaraНет. Но достаточно проверки средой разработки. Сейчас это не проблема. Ещё раз- статические проверки лучше, но контракты универсальнее.в kotlin в сигнатуру функции входит контракт на null / not null. Это еще более универсально чем просто контракт через аннотации ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:02:20 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNдак я про контракты говорю. что они - тут не помогут. нужен notnull на уровне типов.читаем внимательнее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:03:18 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
VoDAGKS_SamaraНет. Но достаточно проверки средой разработки. Сейчас это не проблема. Ещё раз- статические проверки лучше, но контракты универсальнее.в kotlin в сигнатуру функции входит контракт на null / not null. Это еще более универсально чем просто контракт через аннотации ;) что ты понимаешь под словом универсально? как по мне, дак наоборот. это не универсально (но очень нужно) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:03:28 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
VoDAZyK_BotaNдак я про контракты говорю. что они - тут не помогут. нужен notnull на уровне типов.читаем внимательнее что читать? я все внимательно читал. это ты меня не понял. я рассуждал на возможность статической проверки универсальных контрактов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:04:31 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
то что придется писать контракт для переменной тоже - я понял сразу. но для сложных конрактов - вижу проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:05:10 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNчто ты понимаешь под словом универсально? как по мне, дак наоборот. это не универсально (но очень нужно)чем больше проблем решает, тем более универсально. Если проверка на валидность входных данных сделана на уровне языка, то это более универсальное решение чем на уровне IDE. Если проверка на уровне IDE, то при смене IDE или на сервере CI данные ошибки не будут выявлены. Если сделано на уровне языка/компилятора, то ошибка будет отловлена в любом случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:06:36 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNто что придется писать контракт для переменной тоже - я понял сразу. но для сложных конрактов - вижу проблемы.пример? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:07:29 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
VoDAZyK_BotaNчто ты понимаешь под словом универсально? как по мне, дак наоборот. это не универсально (но очень нужно)чем больше проблем решает, тем более универсально. Если проверка на валидность входных данных сделана на уровне языка, то это более универсальное решение чем на уровне IDE. Если проверка на уровне IDE, то при смене IDE или на сервере CI данные ошибки не будут выявлены. Если сделано на уровне языка/компилятора, то ошибка будет отловлена в любом случае. ) я думаю, под универсально имелось ввиду, что можно не только нулы проверять но и другие диапазоны значений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:08:57 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
VoDAZyK_BotaNто что придется писать контракт для переменной тоже - я понял сразу. но для сложных конрактов - вижу проблемы.пример? я не про нулы, а про контракты универсальные. там чего угодно можно воротить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:09:50 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Добрый день, ZyK_BotaN! > дак я про контракты говорю. > что они - тут не помогут. > > нужен notnull на уровне типов. Да, он лучше. Но вводить его в яве- непросто. Хотя если по-умолчанию вводить нуловость, а не-нуловость через другой набор символов- всё проще. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:11:02 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
GKS_SamaraДобрый день, ZyK_BotaN! > дак я про контракты говорю. > что они - тут не помогут. > > нужен notnull на уровне типов. Да, он лучше. Но вводить его в яве- непросто. Хотя если по-умолчанию вводить нуловость, а не-нуловость через другой набор символов- всё проще. -- Алексей JID: alxt@ya.ru в жаве - по любас уже только нуловось можно вводить. все же совместимость. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:11:49 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Добрый день, 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:12:59 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Добрый день! А ведь NotNull тоже можно объявить синтаксическим сахаром! Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. -- Алексей JID: alxt@ya.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:16:08 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNя не про нулы, а про контракты универсальные. там чего угодно можно воротить.тут все хуже. даже в теории нет эффективного способа построения контрактов. Т.е. можно разделить описанные тобой контракты на два вида. Первый - ограничение доменной модели. @NotNull, @More, @Before, @Length и т.п. Давно сделано в виде JSR-303. Успешно работает. Второе - описание контракта на входные данные по которым функция отработает гарантированно корректно . Так вот поскольку нет математического определения что есть корректность работы функции, то и грамотного контракта для функции тоже нет. Теоретические подвижки в эту сторону ведутся довольно давно. И если теория математического обоснования корректности таки появится, то весь рынок программирования очень сильно изменится. Хотя ХЗ смогут ученые умы изобрести математический аппарат для подобного анализа или нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:21:55 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
GKS_Samara@Pre(x>10) @Post(Result < 5) int func(int x) {...} не врубаюсь, чем это лучше int func(int x) { if x>10 или assert(x>10) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:25:23 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
VoDAТак вот поскольку нет математического определения что есть корректность работы функции, позже увидел. Ты уже всё разжевал. +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:27:16 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
GKS_SamaraУниверсальнее- это значит, что написав @Pre(x>10) @Post(Result < 5) int func(int x) {...} я получу всегда x>0, а вызывая всегда уверен, что результат меньше 5.А чем это поможет в разработке программы? Я серьезно. Что будет если x пришедший с внешней системы равен -7? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:27:28 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Petro123не врубаюсь, чем это лучше int func(int x) { if x>10 или assert(x>10) Ну, в теориии, компилер не даст написать func(200) Т.е. ошибка из рантайма переносится в compile-time ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:27:32 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Petro123VoDAТак вот поскольку нет математического определения что есть корректность работы функции, позже увидел. Ты уже всё разжевал. +1опять я успел в перед ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:28:20 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
BlazkowiczPetro123не врубаюсь, чем это лучше int func(int x) { if x>10 или assert(x>10) Ну, в теориии, компилер не даст написать func(200) Т.е. ошибка из рантайма переносится в compile-time теперь хотя бы понял "замысел". :) ..... func(200) ведь никто не пишет. А что там в переменной - один ....знает. Это не семантика ЯП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:32:45 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Добрый день, 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:37:43 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Petro123func(200) ведь никто не пишет. А что там в переменной - один ....знает. Поэтому компилер применяет контракт и на переменную и на все методы из которых её значение появилось и так далее, до некоторого IO, где уже юзер пишет валидацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:37:43 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Добрый день, VoDA! > Что будет если x пришедший с внешней системы равен -7? Исключение во _внешней_ системе. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:38:07 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
уж слишком всё заумно. Мне на каждую входную Решение в коде принимать надо. Это же не доменная статичная модель. Единственная проблема с Null - можно подумать. А остальные контракты - это БЛ, а не контракты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:48:23 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
BlazkowiczОзверинНе, не взлетит. Причина одна, но очень весомая: никто не хочет поддерживать зоопарк в архитектуре. А для новых проектов требуется веское обоснование выбора языка\платформа и тд. Платформа - Java. Язык от Java почти не отличается. Так что это не проблемы. Проблема в том чтобы создать наработки, которыми общественность захотела бы пользоваться. И вот здесь у Redhat шансов поболе. Ну и нужны другие крупные компании, которые бы захотели использовать новый язык. часто c++ вставки делаете в java? если да, вам архитектор проекта спасибо выписывает регулярно? Хотя по факту, вы перефразировали часть моих слов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:51:36 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Petro123Мне на каждую входную Решение в коде принимать надо. Ну, не обязательно. Компилер, в теории, может сам спроецировать контракт. На практике, конечно, это не везде выходит. Т.е. если у метода стоит ограничени на аргумент, то оно же соответсвенно должно быть у переменной, которая в этот аргумент попадает. И тебе контракт у переменной прописывать не обязательно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:52:28 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Озверинчасто c++ вставки делаете в java? C++ это не платформа. Например Жгруви. Есть задача, которая на нем решается проще, чем на Java? Вперед, пиши модуль на нем. Озверинесли да, вам архитектор проекта спасибо выписывает регулярно? Я сам себе спасибо? Ну, разве что в устной форме. :)) ОзверинХотя по факту, вы перефразировали часть моих слов. Гослинг ещё черти когда заявил, что Java - отличная платформа. Как язык - говно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:56:13 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Добрый день, Petro123! > Мне на каждую входную Решение в коде принимать надо. А его и так принимать надо. У любой приличной java-функции контракт описан в комментариях. Его надо просто перенести в контракт. Но, блин, "чукча не читатель, чукча писатель"- авторы явы не знали, видимо, ничего, кроме С++ :( -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 16:56:33 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
BlazkowiczОзверинчасто c++ вставки делаете в java? C++ это не платформа. Например Жгруви. Есть задача, которая на нем решается проще, чем на Java? Вперед, пиши модуль на нем. Озверинесли да, вам архитектор проекта спасибо выписывает регулярно? Я сам себе спасибо? Ну, разве что в устной форме. :)) ОзверинХотя по факту, вы перефразировали часть моих слов. Гослинг ещё черти когда заявил, что Java - отличная платформа. Как язык - говно. я о платформе слово хоть сказал?:) Я говорил о зоопарке - это может быть что угодно, для чего требуются знания. Очевидная же проблема - сложность поддержки при неизвестной причине использования\внедрения(то есть расходы на поддержку довольно очевидно: обучения, сложности поиска новых сотрудников, а из чего складывается плюс зоопарка - черт его знает) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 17:09:55 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
GKS_Samara, контракт (надо вики смотреть) - это статика. Т.е. при изменении контракта - рефакторинг кода. Для этого есть сигнатура метода\параметры\типизация. Т.е. контракт = интерфейс = или труба по перекачке данных. Можно обязать контракт на диаметр трубы, но не на содержимое в трубе. IMHO. Если будет тип входных данных Дата - будем проверять аннотацией по григорианскому? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 17:18:49 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Добрый день, Petro123! > контракт (надо вики смотреть) - это статика. Т.е. при изменении > контракта - рефакторинг кода. Да. > Если будет тип входных данных Дата - будем проверять аннотацией по > григорианскому? Чем описывать - дело десятое. Всё одно в яве их нет. Можно и на дату ввести ограничение- например метод, принимающий дату рождения, может запретить даты больше текущей ;) -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 17:25:20 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
GKS_SamaraМожно и на дату ввести ограничение- например метод, принимающий дату рождения, может запретить даты больше текущей ;) ага.. и аннотацию @Alert(MessageBox\Raise\ТихоСъесть\ОтправитьПоМылу) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 18:14:11 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
JetBrains надо делать деньги на продаже IDE. Им нужен позарез промежуточный язык для создания редакторов других языков, особенно, если в проекте допускается использование двух и более языков. Трудно создавать редактор для Scala (что мы и наблюдаем во всех IDE), имея в качестве базового только Java. Это не мое мнение - это один из первых пунктов в объянении jetBrains "для чего им нужен новый язык". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 19:37:51 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
VoDA Компания JetBrains объявила об Дальше можно не читать. Начхать на всё, что она может объявить (я только посмотрел немного комментарии - ничего особенного). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 21:26:12 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Valery ShiskinJetBrains надо делать деньги на продаже IDE. Им нужен позарез промежуточный язык для создания редакторов других языков, особенно, если в проекте допускается использование двух и более языков. Трудно создавать редактор для Scala (что мы и наблюдаем во всех IDE), имея в качестве базового только Java. Это не мое мнение - это один из первых пунктов в объянении jetBrains "для чего им нужен новый язык".тогда для чего они делают плагин Kotlin для Eclipse? Пока IDEA им приносит доход они будут развивать ее, как только перестанет - будут продавать другой ПО или услуги. Тот же самый continious integration в облако загонят. На текущий момент у них достаточно профессионалов чтобы делать проекты довольно высокой сложности. Потому Kotlin им нужен для того чтобы самим писать много-много-много продакшен кода. А чтобы язык жил и развивался нужна аудитория. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 23:10:38 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
GKS_SamaraЧем описывать - дело десятое. Всё одно в яве их нет. Можно и на дату ввести ограничение- например метод, принимающий дату рождения, может запретить даты больше текущей ;)В java легко реализуется и уже сделан контракт на данные - Bean Validation. А где есть контракт на вызов функции и насколько это помогает в реальной разработке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2012, 23:12:45 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Добрый день, VoDA! > А где есть контракт на вызов функции и насколько это помогает в реальной > разработке? Есть в eiffel. Используют его нечасто- там свои тараканы, в частности нет бесплатных хороших компиляторов. Я пытался кое-ка это прикрутить к delphi и java - забавно, но полностью реализовать невозможно (в частности из-за наследования). -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2012, 09:19:44 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
GKS_SamaraДобрый день, VoDA! Я пытался кое-ка это прикрутить к delphi и java - забавно, но полностью реализовать невозможно (в частности из-за наследования).Можно сделать на базе Spring через проксирование, а сами контракты прописывать аннотациями или через applicationContext. Только основной мой вопрос остался не отвеченным - какие действительные проблемные ситуации это решает в продакшен системах? как часто эти проблемные ситуации проявляются? и собственно сравнить затраты времени на поддержание контрактной системы и на поиск одного-двух багов, которые подпадают под эти контракты. Есть какие нибудь данные на эту тему? PS мысль, что если бы контракты реально помогали их запилили бы довольно давно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2012, 11:53:38 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
VoDAМожно сделать на базе Spring через проксирование, а сами контракты прописывать аннотациями или через applicationContext. Oval как-то давно никто не вспоминает. Ну, и, в рантайме не так интересно. VoDAТолько основной мой вопрос остался не отвеченным - какие действительные проблемные ситуации это решает в продакшен системах? как часто эти проблемные ситуации проявляются? Идея такая, что исключение возникает не в том месте где используются невалидные данные, а в том где они только появляются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2012, 11:58:44 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
BlazkowiczVoDAМожно сделать на базе Spring через проксирование, а сами контракты прописывать аннотациями или через applicationContext. Oval как-то давно никто не вспоминает. Ну, и, в рантайме не так интересно. VoDAТолько основной мой вопрос остался не отвеченным - какие действительные проблемные ситуации это решает в продакшен системах? как часто эти проблемные ситуации проявляются? Идея такая, что исключение возникает не в том месте где используются невалидные данные, а в том где они только появляются. Присоединяюсь к вопросу VoDA. Я когда пытался работать с Oval (это было давно) был сильно разочарован тем, что мне приходится вручную валидацию вызывать. Т.е. мне бы хотелось это делать автоматически (VoDA об этом, насколько я понимаю) - чтобы исключение кидалось на вызов setter'а. Возможно, это реализуемо в Scala через какие-нибудь плагины к компилятору. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2012, 12:09:15 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
BlazkowiczИдея такая, что исключение возникает не в том месте где используются невалидные данные, а в том где они только появляются.А что мешает для всех сущностей написать сеттеры проверяющие валидность данных? как только собрали не валидную сущности, так сразу получили эксепшен... понятно что Runtime-time слабее Compite-time, но даже так можно достигнуть поставленной задачи. на той же Scala можно вместо базовых типов применять собственные типы, которые содержат ограничения. тогда можно и компилятором проверки делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2012, 12:42:43 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
BlazkowiczVoDAСвойства в Kotlin есть, но я не увидел их как First Class Property. потому пока можно пользоваться свойством, но нельзя сослаться на свойство :(Блин :(Есть надежда В комментариях одного из разработчиков нашел псевдо-код: Код: java 1. Причем планируется и ссылка на конкретное свойство конкретного объекта и экстеншен свойства. 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2012, 12:57:15 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
VoDAА что мешает для всех сущностей написать сеттеры проверяющие валидность данных? как только собрали не валидную сущности, так сразу получили эксепшен. Ничего не мешает. Поэтому никто и не пользуется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2012, 12:59:56 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
BlazkowiczVoDAА что мешает для всех сущностей написать сеттеры проверяющие валидность данных? как только собрали не валидную сущности, так сразу получили эксепшен. Ничего не мешает. Поэтому никто и не пользуется.значит удобство от такого рода контрактов перекрывается геморроем по поддержанию контрактов, т.е. контракты не выгодны. по крайней мере в текущей их реализации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2012, 13:08:24 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Почитал все эти нуль-стенания, подумал ... Вроде бы, можно закрыть NPE и, вроде бы, с минимальными накладными расходами или вообще без оных. Проверка соответствия типов всё равно выполняется, так что определить "это null" - придётся, остаётся как-то выкрутиться, если null пришёл туда, где анонсировано его недопустимость. Если у класса есть "конструктор по умолчанию", то при загрузке класса среда исполнения может создать статический объект, а затем установить атрибут доступа "только чтение" на уровне VMM. Чтобы не получать AV - игнорируем запись в такие объекты. Пока, вроде, ничего неосуществимого и ничего ресурсоёмкого. Дальше всё относительно просто - "приводим null к RO-объекту подходящего типа". Но есть ньюанс. Накойхер (фамилие такое) заменять исключение на трудноуловимую семантическую ошибку? P.S. Да, я помню, что исключение должно кидаться тому, кто прислал null в непотребное место, но неужели так много желающих выкинуть весь или почти весь сторонний код? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2012, 17:56:09 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovПроверка соответствия типов всё равно выполняется, так что определить "это null" - придётся, остаётся как-то выкрутиться, если null пришёл туда, где анонсировано его недопустимость. P.S. Да, я помню, что исключение должно кидаться тому, кто прислал null в непотребное место, но неужели так много желающих выкинуть весь или почти весь сторонний код?задача в том, чтобы null не мог придти туда, где его не ждут. в Kotlin это реализуется контрактом и статической проверкой. в том же Kotlin сторонний код можно выполнять, что при совмещении типов придется провести ОДНУ проверку на null. в java проверки на null приходится раскидывать по всему коду. и даже в этом случае периодически подрываешься на NPE когда начинаешь использовать старый функционал чуть по другому. PS был случай когда часть свойств в Entity завернули в embedded. каково же было мое удивление когда рабочий код в другой подсистеме начал взрываться от NPE. оказалось, что embedded может не инициализироваться если все поля пустые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2012, 00:58:37 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
VoDA, да, отложенная инициализация в Java действительно проблема. Я вот думаю, почему её нет (нет?) в других ЯП. Вероятно, потому, что парадигма - распределённый межсистемный код. Или так сказать - межгетерогенный код (через Веб-медленный канал). Тут действительно нужен опыт из других сетевых ЯП. По крайней мере, было бы замечательно, чтобы эта _техническая проблема_ не торчала снаружи как пример аннотаций @МодельТранзакции. Как пример, инкапсуляции таких проблем, в Get или Property добавить код if Obj = Null then new Obj Верхние слои понятия не имеют в какой момент объект будет создан. Провда, учитывать ЭТО программисту тоже приходится - что есть минус. VoDAв том же Kotlin сторонний код можно выполнять, что при совмещении типов придется провести ОДНУ проверку на null мож я пропустил, как и где там делается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2012, 15:04:40 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Petro123VoDAв том же Kotlin сторонний код можно выполнять, что при совмещении типов придется провести ОДНУ проверку на nullмож я пропустил, как и где там делается?Это принцип в Kotlin переменные удобно и практично определять как Int, String. Т.е. notnull переменные. Любой возврат из java кода расценивается как Int? и String? т.е. nullable переменные. из одной переменной в другую записать можно только после проверки на null. PS попробовал на Kotlin писать код. Действительно удобно. А главное зная java на kotlin начинаешь программировать уже минут через 5-7. максимум это понять какие есть ключевые слова типа 'in'. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2012, 13:12:04 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
VoDAзадача в том, чтобы null не мог придти туда, где его не ждут. в Kotlin это реализуется контрактом и статической проверкой.Где гарантия, что код не может нарушать контракт? P.S. Если бы всё было так просто - доказательство корректности программ уже вовсю использовалось бы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2012, 19:12:41 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovVoDAзадача в том, чтобы null не мог придти туда, где его не ждут. в Kotlin это реализуется контрактом и статической проверкой.Где гарантия, что код не может нарушать контракт? P.S. Если бы всё было так просто - доказательство корректности программ уже вовсю использовалось бы.ты сильно не прав. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2012, 20:00:36 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovVoDAзадача в том, чтобы null не мог придти туда, где его не ждут. в Kotlin это реализуется контрактом и статической проверкой.Где гарантия, что код не может нарушать контракт? P.S. Если бы всё было так просто - доказательство корректности программ уже вовсю использовалось бы.Тут пробралось недопонимание. Спешу его развеить Kotlin поддерживает только контракт уровня java плюс проверка NotNull/Nullable. Контракт в том смысле как вы его указали (т.е. контракт для математического обоснования валидности приложения) в kotlin нет. Как нет и в других языках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 01:33:07 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
в принципе, кардинально ничего особо не меняется. Поэтому контракты так мало распространены. (я сам 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 10:05:45 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Petro123(я сам assert() как то мало пишу - обрабатываю руками индивидуально) [/src] assert'ы к контрактному программированию никакого отношения не должны иметь. У них вообще очень ограниченная область применения - проверять такое, чего просто не может быть никогда. Использовать можно только в private методах и только при отладке/тестировании. Обычно они отключены, так что еще стоит помнить об этом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 10:16:47 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
LeonidvPetro123(я сам assert() как то мало пишу - обрабатываю руками индивидуально) [/src] assert'ы к контрактному программированию никакого отношения не должны иметь. У них вообще очень ограниченная область применения - проверять такое, чего просто не может быть никогда. Использовать можно только в private методах и только при отладке/тестировании. Обычно они отключены, так что еще стоит помнить об этом. это ваше imho. У меня, Вики, и других оно другое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 10:29:41 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Petro123Leonidvassert'ы к контрактному программированию никакого отношения не должны иметь. У них вообще очень ограниченная область применения - проверять такое, чего просто не может быть никогда. Использовать можно только в private методах и только при отладке/тестировании. Обычно они отключены, так что еще стоит помнить об этом. это ваше imho. У меня, Вики, и других оно другое.Это мнение Sun которая и ввела assert-ы в язык. И их официальная рекомендация ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 10:50:22 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
кста, я хоть немного конкретики-кода внёс в обсуждение. Самый прикол, что быстрее нашёл его в Net, а не в Kotlin. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 10:55:53 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Petro123У меня, Вики, и других оно другое. У тех, кто читает вики и других - возможно. У тех, кто читает документацию, оно такое же, как у меня: http://docs.oracle.com/javase/1.4.2/docs/guide/lang/assert.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 11:24:24 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Leonidv ты программист? Приведи разницу в коде. Если разница будет очевидна, то то слово assert в данном топике не упоминаем. Если есть общность \ этапы перехода на контракты, то не флеймь. Нужно не только ссылки давать, а делать выводы по ним. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 11:44:21 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Petro123кста, я хоть немного конкретики-кода внёс в обсуждение. Самый прикол, что быстрее нашёл его в Net, а не в Kotlin.конкретика это хорошо. в Net что контракты есть это тоже хорошо. через пару-тройку лет станет очевидно имеет это хоть какое нибудь преимущество или тупо повышает трудозатраты без реальных бонусов. ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 11:46:02 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Petro123Нужно не только ссылки давать, а делать выводы по ним. Ну так возьми и сделай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 11:50:49 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
LeonidvPetro123Нужно не только ссылки давать, а делать выводы по ним. Ну так возьми и сделай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 11:52:57 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Leonidv, флейм? ______________________________________________ "Не понял" от Лёни 11906276 и чем всё закончилось 11910058 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 11:53:44 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
VoDAPetro123кста, я хоть немного конкретики-кода внёс в обсуждение. Самый прикол, что быстрее нашёл его в Net, а не в Kotlin.конкретика это хорошо. в Net что контракты есть это тоже хорошо. через пару-тройку лет станет очевидно имеет это хоть какое нибудь преимущество или тупо повышает трудозатраты без реальных бонусов. ;) да. Я когда копал, увидел там спринг-контракты 8-). Но инфы практически никакой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 11:55:31 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNты сильно не прав.В чём? В ограниченности статической верификации? В несоответствии контракта условиям эксплуатации? В наличии злоумышленников? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 17:22:47 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovZyK_BotaNты сильно не прав.В чём? В ограниченности статической верификации? В несоответствии контракта условиям эксплуатации? В наличии злоумышленников? в том, что не считаешь ее полезной. а хочешь каких-то мифических возможностей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 17:25:49 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNв том, что не считаешь ее полезной.Чтобы это всё стало полезным - должно существенно измениться соотношение времён на разработку/отладку и тестирование.а хочешь каких-то мифических возможностей.Я привожу несложные примеры на которых будет ломаться статическая проверка контрактов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 17:37:25 |
|
||
|
Новый язык для java разработчиков - Kotlin
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovЯ привожу несложные примеры на которых будет ломаться статическая проверка контрактов. - доктор, мне больно, когда я делаю так. - не делайте так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 18:12:50 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2132520]: |
0ms |
get settings: |
18ms |
get forum list: |
30ms |
check forum access: |
8ms |
check topic access: |
8ms |
track hit: |
54ms |
get topic data: |
17ms |
get forum data: |
4ms |
get page messages: |
152ms |
get tp. blocked users: |
2ms |
| others: | 379ms |
| total: | 672ms |

| 0 / 0 |
