×Закрыть

Java дайджест #23: JEP 286

Ссылки, на которые лучше-таки нажать (по мнению автора), отмечены знаком (!)JEP 286: Local-Variable Type Inference

(!) Собственно сам JEP 286: Local-Variable Type Inference.

Довольно взвешенное мнение о за и против.

Мнение от jOOQ по этому поводу.

(!) Мнение от Stephen Colebourne по этому поводу.

(!) Ссылка на статью, в которой есть ссылка на результаты опроса по JEP 286.

В valhalla-dev я обсуждения не нашел (я так понимаю, рано еще), но есть такое вот в platform-jep-discuss.

Что-то вроде новостей

Вышел Jenkins 2.0 alpha. И, собственно, Jenkins 2.0 Overview.

Вышла IDEA 2016.1. Как всегда, добавили кучу всего мелкого. Из важного:
1) Новая нумерация версий;
2) Пользователи 15-й версии получают баг с лицензией как бонус :)

Вышел Flyway 4.0.

Вышел JHipster 3.0.0.

Typesafe Changes Name to Lightbend, но интересно не это. Интересно ,что у нас появился новый фреймворк: Lagom. Ну и в троллинговых целях интересен тот факт что «бабло таки в Java» ... то есть «more than half of our customers representing traditional Java enterprises».

Почитать и посмотреть

Еще одни бенчмарки кешей.

Java evangelist leaves Oracle to save Java. Самое интересное в этом истории: Его заставили побрить голову? Или лысые евангелисты Ораклу не нужны?

И официальное сообщение от Reza Rahman.

Comparing Rust and Java. По какой-то непонятной мне причине, Rust довольно популярная тема среди Java-разработчиков.

Пример native memory leak от Plumbr.

Project Jigsaw: The module system про то, как движется поезд 9-ки.

Sparkjava. Так ли он нужен? В моих сценариях он так и не смог вытеснить Sinatra-у.

Analyzing Scala popularity — довольна забавная статья.

(!) Giving Up on TDD от Дяди Боба.

Разное

shyiko/jabba — менеджер джава версий (по типу RVM).


Предложения и пожелания все еще принимаются или через завсклад и товаровэд администрацию ДОУ или через твиттер @_silverwolf. Также можно оставлять комментарии в специально выделенной теме на форуме.


← Предыдущий выпуск: Java дайджест #22
Следующий выпуск: Java дайджест #24

LinkedIn

14 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Я один не понимаю почему java сообщество так бурлит по поводу type inference?
Если вам непонятен тип возвращаемой функции из ее названия, быть может проблема не в том что тип слева заменили на var?

Если вам непонятен тип возвращаемой функции из ее названия, быть может проблема не в том что тип слева заменили на var?
Не может, а однозначно не в том :)
Одним из плюсов джава была ее «индусоустойчивость». Вывод типов ухудшает этот показатель.
Я один не понимаю почему java сообщество так бурлит по поводу type inference?
Как-то не особо-то и бурлит. Думаю через 1-2 недели уже и забудут.

Мне SparkJava сильно понравился как раз из-за минималистичности. Если писать, что-то с прицелом на raspberry pi или другие микрокомпьютеры, то это заслуживающий внимание вариант.

Только учитите, что внутри у него полноценный сервер — Jetty.

В таком случае vertx.io наше всё.

Это да. Очень недооцененный среди девелоперов фреймворк.

1. Нет потребности для компаний на нешей территории в таких технологиях. 2. Многие повелись на модный akka & node, которые сливают вертексу.

До конфігурації якого в Спарку немає доступу
github.com/...erwendel/spark/issues/314

Спасибо за обзор. Хотелось бы ещё как-нибудь почитать мнение гуру о модных нынче микросервисах, в дайджестах ранее вроде не было (если я не пропустил :-) ).

Сам задал вопрос, сам нашёл ответ: dou.ua/...a/digests/java-digest-20

о модных нынче микросервисах, в дайджестах ранее вроде не было (если я не пропустил :-) ).
Ээээ? Последние наверное 5 дайджестов содержали статьи про них

Автовыведение отличная фича для статически типизированным языка. Там где это влияет на читаемость кода по конвенциям используется явное название типа, почему это идет как аргумент против, никто же не принуждает везде только var использовать.

Минус пожалуй только в том, что это не было зарезервированое слово, но и тут обошлись малой кровью, что б сделать обратную совместимость.

Там где это влияет на читаемость кода по конвенциям используется явное название типа, почему это идет как аргумент против, никто же не принуждает везде только var использовать.
2.5 проблемы (на мой взгляд):
1) Проверку таких конвенций сложно автоматизировать. Или нет? Тогда хотелось бы примеры.
2) var удобен в основном когда вы создаете объект или получаете методом типа getInputStream. В остальных случаях, которых большенство, надо тратить время на «опознание» типа.
2.1) В большинстве случаем лучше работать с абстракциями типа List, Map, а не с реализациями типа ArrayList.
.
Кажись и ваше мнения и мое было озвучено в статьях по ссылкам, но дискуссия может получится интересной.

1. да, если хотите использовать var выборочно — это скорее всего статическими анализаторами не поддерживаеться. в моей практике последние годы, как правило, в статическом анализаторе просто ставится автовыведение поумолчанию во всех случаях и, как показывает практика написания и ревью кода на реальных проектах, проблема снижения читабельности куда менее существенна чем ее преподносят.
2. это верно, но опять же автовыведение не ставит целью позволить писать код без понимания контекста типов. Это просто способ снизить количество кода и затрат времени, особенно ощутимо если вы работаете с генериками. Само собой trade off в этом случае в том, что явное указание типов позволит ориентироваться в коде если код вы видете впервые. Если вы хорошо понимаете контекст — то var наоборот скорее даже плюс — вам проще сконцентрироваться на бизнесс логике, которую выполняет код, а не на контексте, который вы и так хорошо знаете.
2.1 Автовыведение вас в этом не ограничивает, что с ним что без него локальную переменную созданную для конкретного типа прийдеться приводить к интерфейсу.

Подписаться на комментарии