Статьи

Это все Go для Google

Талисман Google Go Gopher Невероятно думать, как далеко продвинулась веб-разработка с середины 1990-х годов. Попытки разработки серверных приложений в те мрачные времена обычно включали в себя отвратительный CGI , немного Perl, редактирование блокнота и много удачи.

Сегодня разработчики избалованы выбором с PHP, Java, C #, VB, Ruby, Python и множеством других платформ и языков. Очевидно, Google не посчитал этого достаточным и создал собственный новый язык программирования под названием «Go» .

Go начался как один из 20% проектов Google. Разработчикам Google разрешается тратить один день в неделю на проект по их выбору — эта идея привела к созданию GMail, AdSense и других успешных систем. Цель команды Go состояла в том, чтобы создать быстрый, веселый и продуктивный язык разработки. Он должен был предложить производительность и безопасность скомпилированных программ с простотой и скоростью разработки интерпретируемого языка.

Синтаксически язык напоминает объектно-ориентированный C. Вот обычный пример «Hello, world»:


package main
import fmt "fmt" // package implementing formatted I/O.

func main() {
	fmt.Printf("Hello, worldn");
} 

Go предлагает функции, циклы, условные выражения, указатели (без арифметики) и все другие структуры, которые вы ожидаете. Есть несколько интересных особенностей:

  • Точки с запятой в конце строки являются необязательными.
  • JavaScript-подобные анонимные / лямбда-функции и замыкания.
  • Python-подобные фрагменты массива и отображение.
  • Поддержка параллелизма (параллельное выполнение) с использованием «goroutines». Одно это может быть привлекательным вариантом; немногие разработчики углубляются в многопоточное кодирование, и Go, кажется, облегчает его.

составление

Google предоставляет два компилятора: 6g для 64-битных и 8g для систем x86. Оба предназначены для быстрой работы, а приложения среднего размера будут компилироваться менее чем за секунду. Даже вся библиотека пакетов, содержащая 120 000 строк кода, компилируется на стандартном ноутбуке менее чем за 10 секунд. Существует также альтернативный компилятор, основанный на GCC, который называется Gccgo.

В отличие от Java и .NET, Go компилируется в собственный двоичный код, а не в управляемый или промежуточный код. Это необычное решение, и многие утверждают, что это шаг назад. Теоретически управляемый код является более безопасным, более переносимым и потенциально более быстрым, поскольку его можно оптимизировать для процессора, на котором он работает. На практике лишь немногие приложения Java и .NET известны своей скоростью.

У Go есть будущее?

Google выпускает исходный код Go под лицензией BSD и надеется, что сообщество разработчиков будет развиваться.

Язык является экспериментальным и не рекомендуется для рабочих сред — нет интеграции IDE, стандартные библиотеки редки, и примеров кода немного. Тем не менее, проект выглядит зрелым, и разработчики использовали его для создания веб-сервера, на котором работает официальный сайт проекта golang.org .

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

Ты попробуешь го? Будущее или другой язык развития меньшинства?

Ссылка: язык программирования Go .