Релиз языка программирования Go 1.15
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Представлен релиз языка программирования Go 1.15, который развивается компанией Google при участии сообщества как гибридное решение, сочетающее высокую производительность компилируемых языков с такими достоинствами скриптовых языков, как лёгкость написания кода, быстрота разработки и защищённость от ошибок. Код проекта распространяется под лицензией 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 добавлена возможность перечисления нескольких прокси, разделённых запятой или символом "|". Если первый прокси в списке вернёт ошибку (404 или 410), то будет предпринята попытка обращения через второй прокси и т.д.
- В утилите vet добавлено предупреждение о попытке преобразования из string(x), если "x" является целочисленным типом, отличным от rune или byte.
- В утилиту objdump добавлен флаг "-gnu" для поддержки дизассемблирования синтаксиса GNU assembler.
- Добавлен новый пакет 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 году).
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://blog.golang.org/go1.15...)
- OpenNews: Релиз языка программирования Go 1.14
- OpenNews: Уязвимости в системе загрузки модулей для языка Go
- OpenNews: Обновление языка Go 1.11.5 и 1.10.8 с устранением уязвимости
- OpenNews: Проект Go опубликовал собственный шрифт для программистов
- OpenNews: Язык Go избавляется от неполиткорректных терминов whitelist/blacklist и master/slave
Похожие новости:
- [Смартфоны, Будущее здесь, IT-компании] Google утверждает, что создала самую большую сеть обнаружения землетрясений
- [DevOps] Мастерим задание на деплой в GKE без плагинов, смс и регистрации. Одним глазком заглядываем Jenkins'у под пиджак
- [Поисковые технологии, Законодательство в IT, IT-компании] DuckDuckGo призывает ввести в США выбор поисковика, что снизит долю Google на 20%
- [Системное администрирование, IT-инфраструктура, Исследования и прогнозы в IT, DevOps] Первое исследование состояния DevOps в России
- [Разработка веб-сайтов, PHP, Программирование, Go] Мне кажется, дело не в языке, а в том, как на нем пишут
- [Разработка игр, Логические игры] Как мы турнир провели
- [MySQL, Облачные вычисления, MongoDB, Kubernetes] Как собрать гибридное облако с помощью Kubernetes, которое может заменить DBaaS
- [Программирование, Go] Новый API Go для Protocol Buffers (перевод)
- [Законодательство в IT, IT-компании] Московский суд оштрафовал Google на 1,5 млн рублей за некачественную фильтрацию запрещенного контента
- [Go, Профессиональная литература, Машинное обучение] Книга «Golang для профи: работа с сетью, многопоточность, структуры данных и машинное обучение с Go»
Теги для поиска: #_golang, #_go
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 23-Ноя 02:59
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Представлен релиз языка программирования Go 1.15, который развивается компанией Google при участии сообщества как гибридное решение, сочетающее высокую производительность компилируемых языков с такими достоинствами скриптовых языков, как лёгкость написания кода, быстрота разработки и защищённость от ошибок. Код проекта распространяется под лицензией BSD. Синтаксис Go основан на привычных элементах языка Си с отдельными заимствованиями из языка Python. Язык достаточно лаконичен, но при этом код легко читается и воспринимается. Код на языке Go компилируется в обособленные бинарные исполняемые файлы, выполняемые нативно без использования виртуальной машины (модули профилирования, отладки и другие подсистемы выявления проблем на этапе выполнения интегрируются в виде runtime-компонентов), что позволяет добиться производительности, сопоставимой с программами на языке Си. Проект изначально разрабатывается с оглядкой на многопоточное программирование и эффективную работу на многоядерных системах, в том числе предоставляя реализованные на уровне операторов средства для организации параллельных вычислений и взаимодействия между параллельно выполняемыми методами. Язык также предоставляет встроенные средства защиты от выхода за допустимые области выделенных блоков памяти и обеспечивает возможность использования сборщика мусора. Основные новшества, представленные в выпуске Go 1.15:
=========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 23-Ноя 02:59
Часовой пояс: UTC + 5