Язык Go обновился до версии 1.15

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.


На днях представлен релиз языка программирования Go 1.15. Как известно, изначально это был проект компании Google, который вышел за пределы корпорации и стал развиваться при поддержке сторонних разработчиков. Код проекта распространяется под лицензией BSD.

Достоинств у Go много, о них не раз писали на Хабре. Среди прочих стоит отметить то, что Go изначально разрабатывался в качестве проекта многопоточного программирования с возможностью создания программ и сервисов, способных работать на многоядерных системах. В версии 1.15 появилось немало ожидаемых нововведений.

image

Полный список новшеств здесь, а основные перечислим ниже:

  • Оптимизирована работа компоновщика. Это относится как к общей производительности, так и к сокращению потребления памяти и упрощению сопровождения кода. Результат виден сразу. Так, при тестировании в ОС с использованием исполняемых файлов ELF компоновка типового набора крупных Go-приложений стала выполняться на 20% быстрее. При этом потребление памяти снижается на 30%.
  • Разработчики оптимизировали компилятор, так что теперь размер генерируемых исполняемых файлов снизился в среднем на 5%. Главным образом, за счет прекращения использования ряда метаданных для сборщика мусора и удаления неиспользуемых метаданных.
  • Runtime оптимизирован в плане распределения мелких объектов на системах с большим числом ядер CPU, одновременно сокращены задержки. При сбоях теперь выводятся значения с числовыми и строковыми типами вместо показа адреса.
  • В компиляторе и ассемблере появился флаг -spectre для включения защиты от атак класса Spectre.
  • Поле CommonName в сертификатах X.509 объявлено устаревшим.
  • Разработчики могут перечислять несколько прокси в команде go в переменной окружения GOPROXY.
  • В утилите vet появилось предупреждение о попытке преобразования из string(x) в том случае, если x — целочисленный тип, отличный от rune или byte.
  • В утилиту objdump добавлен флаг -gnu для поддержки вывода дизассемблерных дампов в синтаксисе GNU assembler.
  • Появился новый пакет time/tzdata, который дает возможность встроить в программу БД с информацией о часовых поясах.
  • В стандартной библиотеке появилось много разных улучшений.

Как видим, проект активно развивается. Он не теряет своей главной особенности — гибридности, где сочетается высокая производительность компилируемых языков с достоинствами языков скриптовых.
Источник: https://habr.com/ru/company/selectel/blog/515118/


Интересные статьи

Интересные статьи

Источник изображения Хорошие новости для разработчиков — вышел Ruby 3.0.0, новый релиз динамического объектно-ориентированного языка программирования. По словам его поклонников, в но...
У всех нас только и разговоров, что о C, C+, Java, Python и так далее, а между тем, в природе существуют языки, который можно назвать не просто сложными, а недоступными для понимания ...
Здравствуйте. Эта статья написана для самых-самых новичков в мире ПЛИС. В ней я попытаюсь максимально просто и понятно рассказать что такое временны́е ограничения (timing constra...
Написание эссе – распространенное задание, с которым сталкиваются те, кто изучает английский. Часто эссе используются в качестве домашних заданий, части тестов, и, конечно, в качестве одного ...
Сегодня мы поговорим о перспективах становления Битрикс-разработчика и об этапах этого пути. Статья не претендует на абсолютную истину, но даёт жизненные ориентиры.