The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Увидел свет язык программирования Go 1.1"
Отправлено opennews, 14-Май-13 11:57 
После более года разработки представлен (http://blog.golang.org/2013/05/go-11-is-released.html) второй значительный релиз развиваемого компанией Google языка программирования Go 1.1 (http://golang.org). При подготовке нового выпуска в кодовую базу проекта внесено более 2600 изменений. В развитии языка принял участие 161 разработчик, не связанный с компанией Google, что демонстрирует интерес сообщества к проекту и подчёркивает правильность выбора открытого пути развития языка. Код проекта распространяется под лицензией BSD.


В новом выпуске основные усилия были направлены на оптимизацию производительности, что позволило достигнуть значительного увеличения производительности приложений на языке Go. Заметного ускорения работы существующих программ можно добиться просто пересобрав их с использованием  нового выпуска компилятора Go. На уровне API и семантики языка версия Go 1.1 полностью обратно совместима  с веткой 1.0.


Оптимизации внесены практически во все подсистемы - в компилятор, систему динамического связывания, сборщик мусора, планировщик процедур и библиотечные функции. Расширено число доступных функций в стандартной библиотеке. Представлен новый механизм выявления эффекта гонки (race detector (http://golang.org/doc/articles/race_detector.html)), позволяющий определить наличие ошибок, связанных с синхронизацией доступа к памяти.  Ошибки деления целых чисел на ноль теперь выявляются на этапе компиляции. Добавлена защита от использования некорректных комбинаций Unicode.

В сам язык внесены в основном незначительные изменения, например, изменены (http://golang.org/doc/go1.1#return) требования к использованию оператора return для завершения работы функций (гарантируется, что единовременно не будет выполняться несколько экземпляров функции). Также добавлен (http://golang.org/doc/go1.1#method_values) новый метод значений (method values), позволяющий осуществить привязку функции к определённому принимаемому значению.


Среди других изменений, добавлена экспериментальная поддержка новых платформ: freebsd/arm, netbsd/386, netbsd/amd64, netbsd/arm, openbsd/386 и openbsd/amd64. В состав включены новые пакеты:  go/format (http://golang.org/pkg/go/format/) с более удобной реализацией функций форматирования; net/http/cookiejar (http://golang.org/pkg/net/http/cookiejar/) для  
манипуляций c HTTP Cookies; runtime/race (http://golang.org/pkg/runtime/race/) для выявления эффекта гонки на стадии выполнения программы.


Целью создания проекта Go было желание получить язык, сочетающий высокую производительность компирируемых языков с лёгкостью написания кода, скоростью разработки и защищённостью от ошибок, свойственными скриптовым языкам. Синтаксис Go базируется привычных элементах  языка Си с отдельными заимствованиями из языка Python. Язык достаточно лаконичен, но  при этом код остаётся легко читаем и воспринимаем. Проект изначально разрабатывается с оглядкой на многопоточное программирование и эффективную работу на многоядерных системах, в том числе предоставляя реализованные на уровне операторов средства для организации параллельных вычислений и  взаимодействия между параллельно выполняемыми методами.
Язык предоставляет встроенные средства защиты от выхода за допустимые области выделенных блоков памяти и обеспечивает возможность использования сборщика мусора. При этом код на языке Go компилируется в обособленные бинарные исполняемые файлы, выполняемые нативно без использования виртуальной машины (модули профилирвоания, отладки и другие подсистемы выявления проблем на этапе выполнения интегрируются в виде runtime-компонентов (http://golang.org/pkg/runtime/)), что позволяет добиться производительности сопоставимой с программами на языке Си.

URL: http://google-opensource.blogspot.ru/2013/05/go-11-is-releas...
Новость: http://www.opennet.ru/opennews/art.shtml?num=36927

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру