Новости IT, хостинга
  Android, Apple, Facebook, Google, Linux, Microsoft, Samsung, Twitter, Интернет, Россия, браузеры, обновление ПО, онлайн-сервисы, операционные системы, планшеты, рынок ИТ, сделки, смартфоны, социальные сети, уязвимости  
  новостей: 10384
  комментариев: 3197

Увидел свет язык программирования Go 1.3


После полугода разработки компания Google представила релиз языка программирования Go 1.3, который позиционируется как гибридное решение, сочетающее высокую производительность компилируемых языков с такими достоинствами скриптовых языков, как лёгкость написания кода, быстрота разработки и защищённость от ошибок. Код проекта распространяется под лицензией BSD.

Синтаксис Go базируется на привычных элементах языка Си с отдельными заимствованиями из языка Python. Язык достаточно лаконичен, но при этом код легко читается и воспринимается. Код на языке Go компилируется в обособленные бинарные исполняемые файлы, выполняемые нативно без использования виртуальной машины (модули профилирования, отладки и другие подсистемы выявления проблем на этапе выполнения интегрируются в виде runtime-компонентов), что позволяет добиться производительности, сопоставимой с программами на языке Си.

Проект изначально разрабатывается с оглядкой на многопоточное программирование и эффективную работу на многоядерных системах, в том числе предоставляя реализованные на уровне операторов средства для организации параллельных вычислений и взаимодействия между параллельно выполняемыми методами. Язык также предоставляет встроенные средства защиты от выхода за допустимые области выделенных блоков памяти и обеспечивает возможность использования сборщика мусора.

Основные новшества, представленные в выпуске Go 1.3:

Добавлена поддержка платформ DragonFly BSD, Solaris (illumos и Solaris 11) и Plan 9. Повышены минимальные требования к версиям FreeBSD (FreeBSD 8+ c COMPAT_FREEBSD32 для x86 и FreeBSD 10 для ARM), NetBSD (6.0+) и OpenBSD (5.5+). Прекращена поддержка ОС Windows 2000, выпуск обновлений для которой был прекращён Microsoft в 2010 году.
В инструментарий gc добавлена поддержка генерации исполняемых файлов для окружения Native Client (NaCl), что позволяет организовать выполнение не заслуживающего доверия кода в sandbox-окружении, изолированном от остальной системы. Пока поддерживается только генерация платформозависимых файлов для 32- и 64-разрядных процессоров Intel, поддержка Portable Native Client (PNaCl) отсутствует;
В сервер документации Godoc добавлены средства для статического анализа кода при запуске с флагом "-analysis". Результаты анализа отображаются как в представлении исходных текстов, так и в документации к пакету, что упрощает навигацию по коду и разбор логики его работы;
Проведена оптимизация runtime-компонентов, что в сочетании с улучшенным сборщиком мусора, новой непрерывной стратегией работы со стеком для подпрограмм (ранее использовалась сегментированная модель), улучшением движка регулярных выражений и более быстрым детектором состояний гонки (race detector) положительно отразилось на производительности выполнения исполняемых файлов;
Проведён рефакторинг системы динамического связывания и компилятора. Стадия выбора инструкций перемещена из компилятора в линковщик, что позволило ускорить повторные сборки больших проектов;
Обеспечен режим точного контроля типов при работе сборщика мусора со стеком, что позволило исключить ошибочную трактовку переменных как укзателей. Задействован новый алгоритм вычищения, отличающийся параллелизацией выполнения операций и манипуляцией страницами памяти большего размера. Суммарный эффект от нового алгоритма оценивается в 50-70% снижении времени на сборку мусора.


Источник: opennet.ru

  21 июня 2014 598
Версия для печати

← предыдущая новость следующая новость →

Мой комментарий
Ваше имя*:
Email:
Комментарий*:
Зарегистрироваться автоматически: Вы будете зарегистрированы на сайте автоматически при добавлении комментария. Обязательно заполните поле Email для этого.
Сумма чисел 8 и 20*:            


Хостеры (2473)
HostDB (35)
Софт (2640)
Железо (993)
Интернет (1435)
Статистика и аналитика (3324)




Отправить сообщение администратору

Сумма чисел 12 и 5*:


Яндекс цитирования
сообщить о неточности