Как лучший язык утилиты командной строки

Go превосходит Python (как и предполагала команда Google):

  • Быстро, как скомпилированное выполнение C
  • Доступный синтаксис
  • Строго типизированный
  • Не требуется установка во время выполнения
  • Кроссплатформенные компиляции
  • Прямой доступ к любой скомпилированной библиотеке
  • Богатый низкоуровневый API и библиотеки пакетов
  • Полная поддержка всех форм шифрования
  • Параллельное из коробки
  • Богатая сетевая поддержка из коробки
  • Лучшее сообщество программистов на данный момент
  • Широко поддерживается
  • Полностью интегрирован с devops и без сервера
  • Легко упаковывать и распространять
  • Компилируется быстрее, чем работает интерпретатор Python
  • Нечитаемый исходный код

Утилиты командной строки спроектированы так, чтобы быть быстрыми, действительно быстрыми, не обязательно время запуска. Нет ничего быстрее, чем скомпилированный код, и в настоящее время нет более простого скомпилированного кода, чем тот, который изначально был разработан в Google для (частичной) замены Python. Боже мой, они когда-либо делали это.

На самом деле, единственный недостаток написания утилиты командной строки на Go одновременно является и одной из его самых сильных сторон: нечитаемый исходный код. Это замечательно при развертывании утилиты, которую вы не хотите, чтобы какой-то другой администратор взломал, для безопасности, а также для поддержки процедур управления изменениями. Иногда это раздражает, но не совсем, если вы используете управление исходным кодом, что поощряется и есть еще одно преимущество Go по сравнению с Python. Гораздо более вероятно, что часть критического кода Python будет жить вне системы управления исходным кодом, чем код Go.

И когда Go становится излишним, есть большая вероятность, что вместо него вам понадобится только Bash.