Must read. Новости языков программирования за июнь — август
Рассказываем, как меняются самые популярные языки программирования — и молодые, и почти «пенсионеры».
Dana Moskvina / Skillbox Media
Раз в квартал мы собираем самые интересные новости из мира языков программирования. В этом выпуске расскажем, чего ждать от новых версий TypeScript, Kotlin, R, Python, Scala, PHP и других языков.
TypeScript
Вышла новая версия «JS на стероидах» — TypeScript 4.4. В ней улучшили производительность, поправили немало мелких багов и добавили несколько классных фич:
- Control Flow Analysis псевдонимов условий и дискриминант.
- Отменили ограничения для Symbol и Template String Pattern Index Signature.
- Сделали так, что Unknown Type теперь по умолчанию используется в Catch Variables.
- Добавили статические блоки в классы.
- Inlay Hints.
- Включили подсказки по написанию кода для JavaScript.
Где почитать подробнее: в официальном блоге Microsoft.
Tcl/Tk
Вышла новая альфа Tcl/Tk 8.7a5 — это очередная возможность пощупать новые фичи, которые включат в стабильный релиз 8.7. Что появилось:
- Расширенная поддержка Unicode.
- Attached Filesystem Archives — zip-архивы файловой системы в библиотеках или исполняемых файлах.
- Новые инструменты уведомлений.
- Синтаксис для комментариев в выражениях.
- regsub -command — новая опция, которая разрешает замену значений, созданных при оценке сценария.
- Явное обозначение десятичных целочисленных значений с помощью префикса 0d.
Где прочитать подробнее: на официальном сайте языка.
Scala
Вышло сразу два апдейта — Scala 3.0.1 и 3.0.2-RC1. Их особенности:
- Можно переносить часть логического выражения в операторах вроде if на следующую строку — главное, чтобы оно начиналось ещё в строке с if.
- Параметр компилятора -Yexplicit-nulls изменяет стандартную иерархию типов Scala, чтобы упростить отслеживание значений, которые допускают использование NULL. Таким образом, проверки проходят на уровне системы типов.
- Просматривать документацию Scala API теперь можно не только по именам методов, но и по их типу благодаря интеграции с Inkuire.
А ещё разработчики пофиксили и довели до ума много мелочей в инструментах метапрограммирования.
Где прочитать подробнее: на официальном сайте Scala.
Ruby
Вышла новая версия Ruby 3.0.2. Тут особо ничего интересного — только обновления безопасности.
Где прочитать подробнее: на официальном сайте Ruby.
R
Этот язык стабильно радует обновлениями — вышла очередная версия, 4.1.1, которая включает следующие изменения:
- require (pkg, quietly = TRUE) создаёт меньше шума — например, не надоедает уведомлениями, если пакеты не найдены.
- Использование ftp: // URI объявлено устаревшим. Лучше не использовать.
- make check научился работать и без установки LaTeX.
Где прочитать подробнее: в архиве списка рассылки R.
Python
Команда Гвидо одновременно выпустила два релиза: 3.9.7 и 3.8.12.
Python 3.9.7 теперь — самая свежая и стабильная версия языка. По сравнению с предыдущим релизом, 3.9.6, прилетело 187 коммитов. Новый релиз из ветки 3.8 связан только с обновлениями безопасности.
Где прочитать подробнее: в блоге Python Insider.
PHP
Версию 8.1.0 RC 1 уже можно потестить, но для реальной разработки её использовать не стоит — мало ли что поломается на проде :) В RC в основном вошли багфиксы и исправления безопасности: всё-таки сейчас стоит задача дотянуть 8.1 до стабильного состояния, а не добавить в неё рюшечек. Но если вдруг упустили все новые фишки грядущего релиза, посмотрите на GitHub проекта.
Где прочитать подробнее: на официальном сайте PHP.
Kotlin
JetBrains выкатили очередной релиз Kotlin — 1.5.30. Это последний релиз перед большим обновлением — версией 1.6.0. Поэтому в нём компания решила затестить много экспериментальных функций — как самого языка, так и стандартной библиотеки. Вот лишь несколько из них:
- запечатанные операторы when;
- встроенная поддержка новых чипов от Apple;
- развитие бэкенда Kotlin / JS до бета-версии.
Где прочитать подробнее: в блоге JetBrains.
Julia User & Developer Survey 2021
Сам язык не обновился, зато комьюнити опубликовало результаты большого исследования — кто использует Julia и пишет на нём код. В опросе приняли участие 2660 пользователей и разработчиков Julia из более чем 104 стран. Основные инсайты:
Второй любимый язык программирования большинства Julia-разработчиков — Python.
Люди выбирают Julia, потому что считают его языком будущего, ценят элегантность, скорость, удобный синтаксис, а самая большая часть комьюнити — учёные и специалисты из академических кругов.
Где узнать подробнее: на YouTube из выступлений с JuliaCon 2021 года, в pdf-версии отчёта.
Go
Гуглояз тоже не стоит на месте — совсем недавно вышла версия 1.17. Команда делала новую версию максимально совместимой с предыдущими и потому зуб даёт, что все старые программы будут компилироваться как ни в чём не бывало. Зато пользователи техники Apple, у которых macOS ниже версии 10.13, новые версии Go попробовать уже не смогут.
Где прочитать подробнее: на официальном сайте Go.
C#
«Шарпы» пришли с обновкой — юбилейным апдейтом 10.0. Из интересного: появились новая директива global using и расширенные шаблоны свойств — теперь можно ссылаться на вложенные свойства или поля в шаблоне свойств.
Где прочитать подробнее: в блоге Microsoft.