Golang

Go — компилируемый многопоточный язык программирования, разработанный внутри компании Google

Язык Go разрабатывался как язык программирования для создания высокоэффективных программ, работающих на современных распределённых системах и многоядерных процессорах. Он может рассматриваться как попытка создать замену языкам Си и C++ с учётом изменившихся компьютерных технологий и накопленного опыта разработки крупных систем. По словам Роба Пайка, «Go был разработан для решения реальных проблем, возникающих при разработке программного обеспечения в Google».

В качестве основных таких проблем он называет:

  • медленную сборку программ;
  • неконтролируемые зависимости;
  • использование разными программистами разных подмножеств языка;
  • затруднения с пониманием программ, вызванные неудобочитаемостью кода, плохим документированием и так далее;
  • дублирование разработок;
  • высокую стоимость обновлений;
  • несинхронные обновления при дублировании кода;
  • сложность разработки инструментария;
  • проблемы межъязыкового взаимодействия.

Основными требованиями к языку стали:

  • Ортогональность. Язык должен предоставлять небольшое число средств, не повторяющих функциональность друг друга.
  • Простая и регулярная грамматика. Минимум ключевых слов, простая, легко разбираемая грамматическая структура, легко читаемый код.
  • Простая работа с типами. Типизация должна обеспечивать безопасность, но не превращаться в бюрократию, лишь увеличивающую код. Отказ от иерархии типов, но с сохранением объектно-ориентированных возможностей.
  • Отсутствие неявных преобразований.
  • Сборка мусора.
  • Встроенные средства распараллеливания, простые и эффективные.
  • Поддержка строк, ассоциативных массивов и коммуникационных каналов.
  • Чёткое разделение интерфейса и реализации.
  • Эффективная система пакетов с явным указанием зависимостей, обеспечивающая быструю сборку.
  • Go создавался в расчёте на то, что программы на нём будут транслироваться в объектный код и исполняться непосредственно, не требуя виртуальной машины, поэтому одним из критериев выбора архитектурных решений была возможность обеспечить быструю компиляцию в эффективный объектный код и отсутствие чрезмерных требований к динамической поддержке.

В результате получился язык, «который не стал прорывом, но тем не менее явился отличным инструментом для разработки крупных программных проектов».

Хотя для Go доступен и интерпретатор, практически в нём нет большой потребности, так как скорость компиляции достаточно высока для обеспечения интерактивной разработки.

  • Разработка
    ...
  • Разработка веб приложений
    ...

Аналоги и альтернативы для Golang

Golang - похожие продукты (инструменты, решения, сервисы)

Отзывы

Отзывов пока нет.

Будьте первым, кто оставил отзыв на “Golang”

Ваш адрес email не будет опубликован. Обязательные поля помечены *