Опубликован (http://blog.golang.org/2012/03/go-version-1-is-released.html) первый релиз языка программирования Go (http://golang.org/), который ознаменовал стабилизацию спецификаций и набора библиотек. Go 1 является первым выпуском, доступным в форме бинарных пакетов для Linux, Mac OS X, FreeBSD, Windows и других поддерживаемых платформ. Язык Go создан в компании Google, распространяется под лицензией BSD и поддерживает компиляцию для архитектур AMD64, x86, x64 и ARM.С одной стороны, в новом релизе нет какого-то существенного редизайна языка или глобальных новшеств, но с другой, наконец-то исправлены некоторые старые ошибки, исправление которых ранее откладывалось по причине создания несовместимости с первоначальной спецификацией. Выпущена специальная утилита go fix (http://golang.org/cmd/go/#Run_go_tool_fix_on_packages), которая максимально автоматизирует приведение старых исходных кодов к текущему стандарту языка Go 1. В целом, в текущем релизе разработчики сосредоточились на оптимизации и очистке кода, повышении его универсальности и переносимости, сведя модификации самого языка к минимуму.
В качестве примеров изменений (http://golang.org/doc/go1.html) можно назвать появление типа rune для Unicode-символов (http://golang.org/doc/go1.html#rune), добавление типа error (http://golang.org/doc/go1.html#errors) и модуля os.Error для обработки ошибок, создание типа time для задания времени (http://golang.org/doc/go1.html#time) и незначительных переименований в strconv (http://golang.org/doc/go1.html#strconv). Кроме этого проведена огромная работа по полной переработке и улучшению сервисной программы go (http://golang.org/doc/go1.html#cmd_go). Самое заметное новшество которой в том, что теперь можно отказаться от файлов Makefile и сборочных скриптов, вся необходимая информация теперь будет извлекаться непосредственно из самых исходников программы. Одновременно выпущен новый Google App Engine SDK (https://developers.google.com/appengine/docs/go), который полностью доработан с учетом новых возможностей Go 1, и предназначен для создания приложений для App Engine.
Напомним (http://www.opennet.ru/opennews/art.shtml?num=24209), синтаксис языка Go сильно похож на язык Си с стилистическими примесями из Python. Это компилирующий императивный язык, поддерживающий структурное программирование. Google утверждает, что разработка нового языка оправдана тем, что сложность C++ приводит к большому количеству ошибок при создании больших приложений, поэтому Go - это попытка создать, с одной стороны - более наглядный и гибкий язык, и с другой, - изначально спроектировать его дизайн с учетом актуальных тенденций и специфики современного аппаратного обеспечения (например, оптимальная работа на многоядерных системах).
Основные особенности языка:
- Высокая безопасность и стабильность языка, включая полную поддержку type-safe (http://en.wikipedia.org/wiki/Type_safety) и memory-safe (http://en.wikipedia.org/wiki/Memory_safety);
- Язык изначально спроектирован для многопроцессорных систем, с встроенной поддержкой (на уровне операторов) параллельных операций и межпроцессорных взаимодействий;
- Высокая эффективность и читаемость, лаконичность языка;
- Высокая скорость работы, практически аналогичная языку Си.
Отдельно отметим, что язык Go (http://en.wikipedia.org/wiki/Go_%28programming_language... не стоит путать с языком Go! (http://en.wikipedia.org/wiki/Go!_%28programming_languag... являющегося своеобразным клоном языка Prolog, разработчики которого ранее даже пытались оспорить это название у Google, но пока безрезультатно.
URL: http://googledevelopers.blogspot.com/2012/03/go-project-reac...
Новость: http://www.opennet.ru/opennews/art.shtml?num=33476