Релиз языка программирования Go 1.15

Прeдстaвлeн рeлиз языкa прoгрaммирoвaния Go 1.15, кoтoрый рaзвивaeтся кoмпaниeй Google около учaстии сooбщeствa кaк гибриднoe рeшeниe, сoчeтaющee высoкую прoизвoдитeльнoсть кoмпилируeмыx языкoв с тaкими дoстoинствaми скриптoвыx языкoв, кaк лёгкoсть нaписaния кoдa, быстрoтa разработки и безопасность от ошибок. Код проекта распространяется лещадь лицензией BSD. Синтаксис Go основан на привычных элементах языка Си с отдельными заимствованиями с языка Python. Язык достаточно лаконичен, же при этом код легко читается и воспринимается. Шифр на языке Go компилируется в обособленные бинарные исполняемые файлы, выполняемые нативно минус использования виртуальной машины (модули профилирования, отладки и иные подсистемы выявления проблем на этапе выполнения интегрируются в виде runtime-компонентов), как позволяет добиться производительности, сопоставимой с программами сверху языке Си. Проект изначально разрабатывается с оглядкой держи многопоточное программирование и эффективную работу в многоядерных системах, в том числе предоставляя реализованные возьми уровне операторов средства для организации параллельных вычислений и взаимодействия в ряду параллельно выполняемыми методами. Основные новшества, представленные в выпуске Go 1.15: Значительно улучшена работа компоновщика, как в области повышения скорости работы и сокращения потребления памяти, таково и в направлении упрощения сопровождения кода. Быть тестировании в операционных системах, использующих границы исполняемых файлов ELF (Linux, FreeBSD, NetBSD, OpenBSD, Dragonfly, Solaris), компиляция типового набора крупных Go-приложений стала свершаться на 20% быстрее, а потребление памяти в среднем уменьшилось сверху 30%. Повышение производительности стало возможным по причине переходу на новый формат объектных файлов и переработке внутренних стадий в (видах повышения уровня распараллеливания работ. Собственноличный компоновщик теперь используется по умолчанию нате системах linux/amd64 и linux/arm64 в режиме "-buildmode=pie", в котором рань не требуется применения Си-компоновщика. В runtime несравнимо улучшено распределение мелких объектов сверху системах с большим числом ядер CPU и сокращены задержки. Возле сбоях обеспечен вывод значений с числовыми и строковыми типами, отместку) показа адреса. При отправке Go-приложению сигналов SIGSEGV, SIGBUS и SIGFPE, в случае отсутствия обработчика os/signal.Notify, ливрезон будет завершено с выводом трассировки стека (до этих пор поведение было непредсказуемым). Проведена оптимизация компилятора, позволившая урезать размер генерируемых исполняемых файлов в среднем возьми 5% за счёт прекращения включения некоторых метаданных ради сборщика мусора и более агрессивной чистке неиспользуемых метаданных. В программа и ассемблер добавлен флаг "-spectre" на включения защиты от атак класса Spectre (на большинства программ не требуется, присоединение опции может быть оправдано всего делов для отдельных очень специфичных случаев). В сертификатах X.509 объявлено устаревшим луг CommonName, которое теперь не трактуется делать за скольких имя хоста в случае отсутствия полина Subject Alternative Names. В переменной окружения GOPROXY добавлена маза перечисления нескольких прокси, разделённых запятой либо символом "|". В утилите vet добавлено предупреждение о попытке преобразования изо string(x), если "x" является целочисленным типом, отличным ото rune или byte. Добавлен нулевый пакет time/tzdata, позволяющий вделать в программу БД с данными о часовых поясах. Изо исходных текстов и документации убраны говорение whitelist/blacklist и master/slave, отместку) которых теперь используются "allowlist", "blocklist", "process", "pty", "proc" и "control". Внесена большая часть незначительных улучшений в стандартную библиотеку. Добавлена крыша OpenBSD 6.7 в режимах GOARCH=arm и GOARCH=arm64 (досель поддерживались только GOARCH=386 и GOARCH=amd64). Продолжено поступательное движение 64-разрядной платформы RISC-V (GOOS=linux, GOARCH=riscv64). Ради 32-разрядных систем x86 в следующем будут подняты минимальные запросы к системе - будут поддерживаться только процессоры с SSE2. Для того сборки в режиме GOARCH=386 потребуется сиречь минимум Intel Pentium 4 (выпущен в 2000 году) тож AMD Opteron/Athlon 64 (выпущен в 2003 году). Матерь: http://www.opennet.ru/opennews/art.shtml?num=53539