Как лучший язык утилиты командной строки
Go превосходит Python (как и предполагала команда Google):
- Быстро, как скомпилированное выполнение C
- Доступный синтаксис
- Строго типизированный
- Не требуется установка во время выполнения
- Кроссплатформенные компиляции
- Прямой доступ к любой скомпилированной библиотеке
- Богатый низкоуровневый API и библиотеки пакетов
- Полная поддержка всех форм шифрования
- Параллельное из коробки
- Богатая сетевая поддержка из коробки
- Лучшее сообщество программистов на данный момент
- Широко поддерживается
- Полностью интегрирован с devops и без сервера
- Легко упаковывать и распространять
- Компилируется быстрее, чем работает интерпретатор Python
- Нечитаемый исходный код
Утилиты командной строки спроектированы так, чтобы быть быстрыми, действительно быстрыми, не обязательно время запуска. Нет ничего быстрее, чем скомпилированный код, и в настоящее время нет более простого скомпилированного кода, чем тот, который изначально был разработан в Google для (частичной) замены Python. Боже мой, они когда-либо делали это.
На самом деле, единственный недостаток написания утилиты командной строки на Go одновременно является и одной из его самых сильных сторон: нечитаемый исходный код. Это замечательно при развертывании утилиты, которую вы не хотите, чтобы какой-то другой администратор взломал, для безопасности, а также для поддержки процедур управления изменениями. Иногда это раздражает, но не совсем, если вы используете управление исходным кодом, что поощряется и есть еще одно преимущество Go по сравнению с Python. Гораздо более вероятно, что часть критического кода Python будет жить вне системы управления исходным кодом, чем код Go.
И когда Go становится излишним, есть большая вероятность, что вместо него вам понадобится только Bash.