В этом выпуске
— JVM Language Summit: ведущие эксперты о будущем Java
— Черновой вариант value types на подходе
— Инвесторы вливают деньги в Hadoop
— JITWatch: новый инструмент performance-инженера
… и многое другое
1. Новости
1.1. Будущее Java
Ссылка
Ссылка 2
В первых числах августа в Санта-Клара, Калифорния, прошел очередной JVM Language Summit. Особое внимание было приковано к John Rose, который рассказывал про Java будущего. Достаточно хорошую выжимку его доклада можно прочитать, пройдя по первой ссылке. Среди ключевых моментов — value types, более глубокая интеграция между нативным и управляемым слоями, концепция java-over-java, адаптация платформы под современные тенденции развития железа и прикладного софта.
1.2. Minimal value types
Ссылка
Раз уж зашла речь о value types, еще одна приятная новость. John Rose предлагает не ждать N лет, пока фича будет финализирована, а выпустить ее черновой вариант. Предполагается, что фичу будут использовать любознательные «power users» (смешно звучит, учитывая что речь идет про Java-разработчиков). Очень правильная идея. Она позволит Oracle поддерживать более тесный контакт с пользователями, и организовать продолжительную и насыщенную стадию альфа/бета-тестирования. Главное, чтобы это начинание не повторило судьбу печально известного sun.misc.Unsafe — уж больно сильно будут чесаться руки увести value types в продакшн. Борьбе со злоупотреблениями в статье посвящен целый абзац, см. «Scoping of these features».
Источник: blogs.oracle.com/java/jvm-language-summit-highlights
1.3. Будущее Java EE в наших руках
Ссылка
Oracle в очередной раз заявил, что уважает мнение коммьюнити, и будет активно к нему прислушиваться при планировании Java EE 8. В ближайшее время должен выйти опросник, задача которого понять, насколько взгляды Oracle и рядовых разработчиков совпадают друг с другом. После обработки результатов опроса и окончательной приоритезации Oracle обещает выпустить Java EE 8
в течение одного года.
1.4. Deprecation API
Ссылка
И еще одна хорошая новость. Судя по всему, в Java 9 мы увидим улучшенный deprecation API. Соответствующим JEP (созданный еще в конце 2014 года) уже запланирован в девятку. Его реализация должна сделать жизненный цикл API более понятным и управляемым, и со временем привить разработчикам дисциплину работы с deprecated-методами.
1.5. А что там у шарпОв?
Ссылка
Немного контраста. Microsoft рассказал о своих планах на C# 7.0. Шарп в современном виде уже впитал в себя огромное количество языковых фич. Поэтому в седьмой версии прорывных улучшений не ожидается. Парни просто фиксируют свое лидерство над множеством других языков (включая Java, естественно). Локальные функции, tuples на уровне языка, паттерны в case-switch, еще меньше головной боли при работе с эксепшнами. Короче говоря, с жиру бесятся. Когда-нибудь и на нашей улице будет праздник.
1.6. Долларов слонам
Ссылка
Ссылка 2
Инвесторы продолжают вливать в экосистему Hadoop серьезные деньги. Так, MapR закрыл очередной раунд инвестиций, получив 50M$. Предполагается, что это последнее вливание перед грядущим IPO компании.
Одновременно с этим SAP анонсировал поглощение стартапа Altiscale, продающего так называемые big-data-as-a-service (BDaaS? BDataS?) решения. Сумма сделки составила 125M$.
1.7. Долларов EPAMу
Ссылка
EPAM отчитался за второй квартал 2016 года. Чистая прибыль одного из крупнейших аутсорсеров составила 22M$. Вместе с первым кварталом это дает суммарную цифру 50M$. Согласно информации на официальном сайте, в компании работает более 18 тысяч сотрудников. Таким образом, за полгода средний доход компании на сотрудника составил ~2800$, или ~460$ в месяц, или ~20$ в день. Тяжелый бизнес.
Источник: www.investors.com/news/epam-systems-second-quarter-earnings-preview
1.8. JITWatch
Ссылка
Ссылка 2
Парни из JetBrains выпустили классный плагин JITWatch, который позволяет следить за JIT-компиляцией в runtime. Краткий рассказ Дмитрия Жемерова о возможностях плагина можно посмотреть по второй ссылке.
Хочется верить, что JetBrains продолжит работу над интеграцией перфоманс-инструментов в IDEA. Mission Control, JMH, Honest Profiler, Flame graphs, Hdr Histogram, Perf,… С каждым днем их становится все больше. Но с ростом возможностей растет и количество головной боли. Нужен универсальный продукт, который был бы интегрирован с IDE, и объединял бы в себе функции и преимущества популярных продуктов.
2. Почитать
2.1. Видео с JVM Language Summit 2016
Ссылка
Видео всех докладов были выложены на соответствующий YouTube-канал сразу после саммита. Если вы хотите быть в курсе последних новостей JVM, этот канал для вас.
2.2. JVM warm-up
Ссылка
Обзорный доклад о JIT и прогреве JVM от Mark Price, перфоманс-инженера компании LMAX. Не является хардкорным, а потому хорошо подойдет инженерам, которые только начинают свое знакомство с внутренностями JVM.
2.3. Checked vs unchecked exceptions
Ссылка
В группе Mechanical Sympathy произошла попытка разжечь известный холивар checked vs unchecked exceptions. Все началось с того, что одного разработчика возмутил переход драйверов Elasticsearch и Cassandra на unchecked-модель. Обсуждение полезно тем, что содержит очень сжатые и емкие мнения о плюсах и минусах обоих видов исключений. Лично мне наиболее близок подход Peter Lawrey — интерфейсы библиотек на unchecked exception, их имплементация — на checked. Как только вы выставляете checked exceptions наружу, они начинают доставлять боль пользователям, их и просто игнорируют. В худшем случае — пустыми catch-блоками.
2.4. Новые коллекторы в Java 9
Ссылка
Статья рассказывает про два новых коллектора в Java 9 — Collectors.filtering и Collectors.flatMapping. Хорошие дополнения, которые усилят взаимопроникновение коллекций, стримов и лямбд друг в друга.
2.5. Динамические тесты в JUnit
Ссылка
Официальный релиз JUnit 5 все ближе, поэтому самое время потрогать killer feature новой версии — динамические тесты.
3. Мудрость
3.1. Природа знаний
3.2. Open source
3.3. С больной головы на здоровую
3.4. Модные тренды
4. Юмор
4.1. Сплетни
Источник: joyreactor.cc/post/1014100
Выпуски: Предыдущий
Поделиться с друзьями
23derevo
Новоcть дня для любителей перфоманса:
poxu
Картинка с курями неграмотная. Код не только устаревший, но ещё и не рабочий.
Вместо
надо
То бишь мало того, naming conventions нарушены и лишний раз параметр шаблона написан там, где сейчас type inference есть, так ещё и скобки круглые у конструктора вовсе забыли.
Ну кто, после такого кода джаву всерьёз воспринимать будет? Вот из за таких курей байки про джаву и ходют.
Стыдно! Стыдно товарищи!
sidristij
Ну я бы так не сказал )) Одни только паттерны много чего стоят.