- PVSM.RU - https://www.pvsm.ru -

Дайджест интересных событий из мира Java, и вокруг нее #8 (01.08.2016 — 31.08.2016)

image

В этом выпуске

JVM Language Summit: ведущие эксперты о будущем Java
— Черновой вариант value types на подходе
— Инвесторы вливают деньги в Hadoop
JITWatch: новый инструмент performance-инженера
… и многое другое

1. Новости

1.1. Будущее Java

Ссылка [1]
Ссылка 2 [2]

В первый числах августа в Санта-Клара, Калифорния, прошел очередной JVM Language Summit [3]. Особое внимание было приковано к John Rose [4], который рассказывал про Java будущего. Достаточно хорошую выжимку его доклада можно прочитать, пройдя по первой ссылке. Среди ключевых моментов — value types, более глубокая интеграция между нативным и управляемым слоями, концепция java-over-java, адаптация платформы под современные тенденции развития железа и прикладного софта.

1.2. Minimal value types

Ссылка [5]

Раз уж зашла речь о value types, еще одна приятная новость. John Rose предлагает не ждать N лет, пока фича будет финализирована, а выпустить ее черновой вариант. Предполагается, что фичу будут использовать любознательные «power users» (смешно звучит, учитывая что речь идет про Java-разработчиков). Очень правильная идея. Она позволит Oracle поддерживать более тесный контакт с пользователями, и организовать продолжительную и насыщенную стадию альфа/бета-тестирования. Главное, что бы это начинание не повторило судьбу печально известного sun.misc.Unsafe — уж больно сильно будут чесаться руки увести value types в продакшн. Борьбе со злоупотреблениями в статье посвящен целый абзац, см. «Scoping of these features».

image
Источник: blogs.oracle.com/java/jvm-language-summit-highlights [6]

1.3. Будущее Java EE в наших руках

Ссылка [7]

Oracle в очередной раз заявил, что уважает мнение коммьюнити, и будет активно к нему прислушиваться при планировании Java EE 8. В ближайшее время должен выйти опросник, задача которого понять, насколько взгляды Oracle и рядовых разработчиков совпадают друг с другом. После обработки результатов опроса и окончательной приоритезации Oracle обещает выпустить Java EE 8
в течение одного года.

1.4. Deprecation API

Ссылка [8]

И еще одна хорошая новость. Судя по всему, в Java 9 мы увидим улучшенный deprecation API. Соответствующим JEP (созданный еще в конце 2014 года) уже запланирован в девятку. Его реализация должна сделать жизненный цикл API более понятным и управляемым, и со временем привить разработчикам дисциплину работы с deprecated-методами.

1.5. А что там у шарпОв?

Ссылка [9]

Немного контраста. Microsoft рассказал о своих планах на C# 7.0. Шарп в современном виде уже впитал в себя огромное количество языковых фич. Поэтому в седьмой версии прорывных улучшений не ожидается. Парни просто фиксируют свое лидерство над множеством других языков (включая Java, естественно). Локальные функции, tuples на уровне языка, паттерны в case-switch, еще меньше головной боли при работе с эксепшнами. Короче говоря, с жиру бесятся. Когда-нибудь и на нашей улице будет праздник.

1.6. Долларов слонам

Ссылка [10]
Ссылка 2 [11]

Инвесторы продолжают вливать в экосистему Hadoop серьезные деньги. Так, MapR [12] закрыл очередной раунд инвестиций, получив 50M$. Предполагается, что это последнее вливание перед грядущим IPO компании.

Одновременно с этим SAP анонсировал поглощение стартапа Altiscale [13], продающего так называемые big-data-as-a-service (BDaaS? BDataS?) решения. Сумма сделки составила 125M$.

1.7. Долларов EPAMу

Ссылка [14]

EPAM отчитался за второй квартал 2016 года. Чистая прибыль одного из крупнейших аутсорсеров составила 22M$. Вместе с первым кварталом это дает суммарную цифру 50M$. Согласно информации на официальном сайте, в компании работает более 18 тысяч сотрудников. Таким образом, за полгода средний доход компании на сотрудника составил ~2800$, или ~460$ в месяц, или ~20$ в день. Тяжелый бизнес.

image
Источник: www.investors.com/news/epam-systems-second-quarter-earnings-preview [15]

1.8. JITWatch

Ссылка [16]
Ссылка 2 [17]

Парни из JetBrains выпустили классный плагин JITWatch, который позволяет следить за JIT-компиляцией в runtime. Краткий рассказ Дмитрия Жемерова [18] о возможностях плагина можно посмотреть по второй ссылке.

Хочется верить, что JetBrains продолжит работу над интеграцией перфоманс-инструментов в IDEA. Mission Control, JMH, Honest Profiler, Flame graphs, Hdr Histogram, Perf,… С каждым днем их становится все больше. Но с ростом возможностей растет и количество головной боли. Нужен универсальный продукт, который был бы интегрирован с IDE, и объединял бы в себе функции и преимущества популярных продуктов.

2. Почитать

2.1. Видео с JVM Language Summit 2016

Ссылка [19]

Видео всех докладов были выложены на соответствующий YouTube-канал сразу после саммита. Если вы хотите быть в курсе последних новостей JVM, этот канал для вас.

2.2. JVM warm-up

Ссылка [20]

Обзорный доклад о JIT и прогреве JVM от Mark Price [21], перфоманс-инженера компании LMAX. Не является хардкорным, а потому хорошо подойдет инженерам, которые только начинают свое знакомство с внутренностями JVM.

2.3. Checked vs unchecked exceptions

Ссылка [22]

В группе Mechanical Sympathy произошла попытка разжечь известный холивар checked vs unchecked exceptions. Все началось с того, что одного разработчика возмутил переход драйверов Elasticsearch и Cassandra на unchecked-модель. Обсуждение полезно тем, что содержит очень сжатые и емкие мнения о плюсах и минусах обоих видов исключений. Лично мне наиболее близок подход Peter Lawrey [23] — интерфейсы библиотек на unchecked exception, их имплементация — на checked. Как только вы выставляете checked exceptions наружу, они начинают доставлять боль пользователям, их и просто игнорируют. В худшем случае — пустыми catch-блоками.

2.4. Новые коллекторы в Java 9

Ссылка [24]

Статья рассказывает про два новых коллектора в Java 9 — Collectors.filtering и Collectors.flatMapping. Хорошие дополнения, которые усилят взаимопроникновение коллекций, стримов и лямбд друг в друга.

2.5. Динамические тесты в JUnit

Ссылка [25]

Официальный релиз JUnit 5 [26] все ближе, поэтому самое время потрогать killer feature новой версии — динамические тесты.

3. Мудрость

3.1. Природа знаний

3.2. Open source

3.3. С больной головы на здоровую

3.4. Модные тренды

4. Юмор

4.1. Сплетни

image
Источник: joyreactor.cc/post/1014100 [33]

Выпуски: Предыдущий [34]

Автор: devozerov

Источник [35]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/java/183990

Ссылки в тексте:

[1] Ссылка: http://www.javaworld.com/article/3106777/scripting-jvm-languages/microservices-java-on-java-top-oracles-jvm-design-goals.html

[2] Ссылка 2: https://www.youtube.com/watch?v=gii6ySfsVfs

[3] JVM Language Summit: http://openjdk.java.net/projects/mlvm/jvmlangsummit/

[4] John Rose: https://www.linkedin.com/in/john-rose-270725

[5] Ссылка: http://cr.openjdk.java.net/~jrose/values/shady-values.html

[6] blogs.oracle.com/java/jvm-language-summit-highlights: https://blogs.oracle.com/java/jvm-language-summit-highlights

[7] Ссылка: https://java.net/projects/javaee-spec/lists/users/archive/2016-08/message/4

[8] Ссылка: http://openjdk.java.net/jeps/277

[9] Ссылка: https://blogs.msdn.microsoft.com/dotnet/2016/08/24/whats-new-in-csharp-7-0/

[10] Ссылка: http://www.pymnts.com/news/b2b-payments/2016/mapr-funding-50-million-investment-round-ipo-big-data-enterprise-cloud/

[11] Ссылка 2: http://siliconangle.com/blog/2016/08/26/report-sap-is-buying-hadoop-as-a-service-startup-altiscale-for-over-125m/

[12] MapR: https://www.mapr.com/

[13] Altiscale: https://www.altiscale.com/

[14] Ссылка: http://investors.epam.com/phoenix.zhtml?c=246986&p=irol-newsArticle&ID=2192830

[15] www.investors.com/news/epam-systems-second-quarter-earnings-preview: http://www.investors.com/news/epam-systems-second-quarter-earnings-preview/

[16] Ссылка: https://plugins.jetbrains.com/plugin/8529

[17] Ссылка 2: https://www.youtube.com/watch?v=NIuSMzfX3g0

[18] Дмитрия Жемерова: https://www.linkedin.com/in/dmitryjemerov

[19] Ссылка: https://www.youtube.com/user/java/videos

[20] Ссылка: https://www.infoq.com/presentations/jvm-code-runtime

[21] Mark Price: https://www.linkedin.com/in/epickrram

[22] Ссылка: https://groups.google.com/forum/#!msg/mechanical-sympathy/Ko8osOYLq4I/r7bmxTMSDQAJ

[23] Peter Lawrey: https://www.linkedin.com/in/peterlawrey

[24] Ссылка: http://iteratrlearning.com/java9/2016/08/16/java9-collectors.html

[25] Ссылка: http://blog.codefx.org/libraries/junit-5-dynamic-tests/

[26] JUnit 5: http://junit.org/junit5/

[27] #WednesdayWisdom: https://twitter.com/hashtag/WednesdayWisdom?src=hash

[28] pic.twitter.com/r6a7AbvIUk: https://t.co/r6a7AbvIUk

[29] August 3, 2016: https://twitter.com/ValaAfshar/status/760687439899951104

[30] August 9, 2016: https://twitter.com/_ericelliott/status/762803907076554752

[31] August 21, 2016: https://twitter.com/ben_a_adams/status/767174657048993792

[32] August 30, 2016: https://twitter.com/stahnma/status/770658329957847040

[33] joyreactor.cc/post/1014100: http://joyreactor.cc/post/1014100

[34] Предыдущий: https://habrahabr.ru/post/306878/

[35] Источник: https://habrahabr.ru/post/309268/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best