microJUG – Telegram
microJUG
982 subscribers
155 photos
1 video
2 files
237 links
Мысли о Java.
Основной канал: @miniJUG
Буст: https://news.1rj.ru/str/microJUG?boost
Чат: https://news.1rj.ru/str/micro_JUG
Таблица JEP'ов: https://minijug.org/jeps.html
Download Telegram
Увидел вот такой код в нашем проекте:

private static final char[] CHARS = new char[] {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' };

Сразу подумал, что надо переписать. Но понял, что не знаю как. Все варианты получаются слишком громоздкими. Есть идеи?
Имя пакета omg в CORBA прям в точку

Можно было бы вообще назвать org.😱.CORBA
Меня забанили в Твиттере на 12 часов
Интересно, все мои твиты заменились на такой вот текст
Разблокировали!
В связи с 25-летием JDK 1.0 опрос. Какая была ваша первая версия Java, с которой вы начали работать за деньги?
Final Results
0%
Java 1.0/1.1
2%
Java 1.2
2%
Java 1.3
7%
Java 1.4
7%
Java 5
23%
Java 6
22%
Java 7
32%
Java 8
1%
Java 9+
4%
Я (ещё) не писал на Java за деньги
Количество Java-чемпионов на 100 млн. населения
Как вы произносите null в разговорной речи?
Final Results
31%
нулл
68%
налл
1%
нуль
0%
ноль
Согласитесь, испытываешь некое чувство гордости, когда удаётся написать код без использования Stream'ов? 😂
Где-то неделю программирую на Java 11. Пока в основном радуюсь новшествам в API, а не в синтаксисе. Прям сильно зашёл HttpClient. Сокращает код в разы по сравнению с HttpURLConnection. Ещё заюзал Files.writeString и String.isBlank. Из синтаксиса пока только удалось написать анонимный класс с оператором бубна. var пока не решаюсь использовать. А вы пишете var?
C:\Soft\jdk-17\bin>jshell
| Welcome to JShell -- Version 17-ea
| For an introduction type: /help intro

jshell> Record.class.isRecord()
$1 ==> false
Тут вышел новый черновик JEP Frozen Arrays с предложением добавить в Java замороженные (shallowly immutable) массивы:

• В такие массивы нельзя писать (выкинет ArrayStoreException)
• Могу создаваться с помощью фабрики или путём вызова array.freeze()/System.arrayfreeze(array, 0, array.length) на существующем мутабельном массиве (при этом возвращается новый массив).
• С помощью System.isFrozenArray(array) можно проверить, заморожен ли массив
• Нового синтаксиса не будет. Изменений в байт-коде тоже.

Самое интересное, как будут выглядеть фабрики таких массивов. Хотелось бы чего-нибудь вроде Arrays.makeFreezedArray(int size, IntFunction<T> func). Но тогда непонятно, что будет с примитивными генераторами, ведь специализаций у IntFunction<T> только три (IntUnaryOperator, IntToDoubleFunction, IntToLongFunction), но при этом IntToCharFunction и всех остальных нет. В общем, это самое непонятное место пропозала.
Комменты к видео про Kotlin с Joker
Год назад я создавал опрос о распространённости версий Java. Давайте посмотрим, что-нибудь изменилось за год или нет. Варианты ответов оставляю ровно те же самые.
Какие языки используете?
Final Results
3%
Java 7 и более старые
56%
Java 8
0%
Java 9/10
52%
Java 11
19%
Java 12 или выше
10%
Groovy
4%
Scala
23%
Kotlin
А вот кстати результаты технологического отчёта JRebel за 2021 год.
• Java 8 возросла с 58% до 69% (видимо, всё ещё переходят с 6 и 7)
• Java 11 – c 23% до 36%
• Eclipse в прошлом году был совсем плох – 24%. В этом году 48%. IDEA упала с 82% до 65%. Не знаю, может тут какой-то bias в опросе. Результаты слишком отличаются.
• Maven и Gradle стали 67% и 20% соответственно, а в прошлом году были 47% и 44%. В общем, я не уверен в корректности их опроса.