0 added
0 removed
Original
2026-01-01
Modified
2026-02-19
1
Большинство из читающих этот текст, безусловно, знает о скриптах. С их помощью автоматизируют повседневные задачи, настройку инфраструктуры, разворачивают софт, накатывают матрицы, работают с метриками… Скрипты облегчают жизнь и дают возможность не выполнять одну и ту же рутинную задачу каждый раз, когда она нужна. Штука, в общем-то, классная.Чаще всего для разработки скриптов используют Bash, Python или Perl. У этих решений, безусловно, есть как свои преимущества, так и свои недостатки. Разбираем по порядку.<h2><strong>Bash</strong></h2>
1
Большинство из читающих этот текст, безусловно, знает о скриптах. С их помощью автоматизируют повседневные задачи, настройку инфраструктуры, разворачивают софт, накатывают матрицы, работают с метриками… Скрипты облегчают жизнь и дают возможность не выполнять одну и ту же рутинную задачу каждый раз, когда она нужна. Штука, в общем-то, классная.Чаще всего для разработки скриптов используют Bash, Python или Perl. У этих решений, безусловно, есть как свои преимущества, так и свои недостатки. Разбираем по порядку.<h2><strong>Bash</strong></h2>
2
Bash - самый распространенный инструмент для автоматизации задач. У него довольно-таки много плюсов: с его помощью удобно работать с консольными программами, он предназначен именно для вызова системных приложений. Bash, сам по себе, не является языком программирования, и поэтому с ним легко начинать работу тем, кто уже знаком с Linux - им не потребуется никаких специальных навыков и инструментов. Bash также идеально подходит для небольших задач по автоматизации. На этом, правда, бочка меда заканчивается.<p>Для новичков Linux изучение Bash будет сложным - он тяжело читается, не интуитивен и на нем легко допустить дорогостоящую ошибку. Он медленнее, чем аналоги, часто падает и сильно зависит от используемой системы. Bash также не подойдет для решения более комплексных задач - в нем просто не хватит инструментов для настройки.</p>
2
Bash - самый распространенный инструмент для автоматизации задач. У него довольно-таки много плюсов: с его помощью удобно работать с консольными программами, он предназначен именно для вызова системных приложений. Bash, сам по себе, не является языком программирования, и поэтому с ним легко начинать работу тем, кто уже знаком с Linux - им не потребуется никаких специальных навыков и инструментов. Bash также идеально подходит для небольших задач по автоматизации. На этом, правда, бочка меда заканчивается.<p>Для новичков Linux изучение Bash будет сложным - он тяжело читается, не интуитивен и на нем легко допустить дорогостоящую ошибку. Он медленнее, чем аналоги, часто падает и сильно зависит от используемой системы. Bash также не подойдет для решения более комплексных задач - в нем просто не хватит инструментов для настройки.</p>
3
<h2><strong>Perl</strong></h2>
3
<h2><strong>Perl</strong></h2>
4
Perl, в отличие от Bash - полноценный язык программирования. С его помощью можно не только написать скрипт, но и, например, разработать приложение. Среди преимуществ Perl - большое количество инструментов работы с текстом, удобная настройка обработки текстовых данных любого вида и их деплоя. Он лучше остальных, после Bash, подойдет для вызова системных приложений. Также, несмотря на весьма небольшое комьюнити Perl, его часто используют компании, которые работают с легаси-кодом, доставшимся по наследству от предыдущих разработчиков.<p>Главный минус Perl - его многословность. Из-за этого, этот язык программирования довольно сложный в освоении и контр интуитивный - у начинающих работать с ним может рябить в глазах от количества объемных конструкций. В целом, Perl, как и Bash, довольно медленный, его тяжело поддерживать, и он требует интерпретаторов и IDE. Perl морально и технически устарел - несмотря на то, что он был любимчиком разработчиков в 2000 е годы, сегодня его изучение не становится приоритетом у новичков. Компания, которая ищет специалистов Perl, рискует тем, что их команда будет полностью состоять из специалистов возрастом 50+.</p>
4
Perl, в отличие от Bash - полноценный язык программирования. С его помощью можно не только написать скрипт, но и, например, разработать приложение. Среди преимуществ Perl - большое количество инструментов работы с текстом, удобная настройка обработки текстовых данных любого вида и их деплоя. Он лучше остальных, после Bash, подойдет для вызова системных приложений. Также, несмотря на весьма небольшое комьюнити Perl, его часто используют компании, которые работают с легаси-кодом, доставшимся по наследству от предыдущих разработчиков.<p>Главный минус Perl - его многословность. Из-за этого, этот язык программирования довольно сложный в освоении и контр интуитивный - у начинающих работать с ним может рябить в глазах от количества объемных конструкций. В целом, Perl, как и Bash, довольно медленный, его тяжело поддерживать, и он требует интерпретаторов и IDE. Perl морально и технически устарел - несмотря на то, что он был любимчиком разработчиков в 2000 е годы, сегодня его изучение не становится приоритетом у новичков. Компания, которая ищет специалистов Perl, рискует тем, что их команда будет полностью состоять из специалистов возрастом 50+.</p>
5
<h2><strong>Python</strong></h2>
5
<h2><strong>Python</strong></h2>
6
Большинство компаний, которые сегодня нанимают DevOps, работают именно с Python. У питона много преимуществ - это альтернатива PhP, также полноценный и мультифункциональный язык программирования, у которого множество сценариев использования - от разработки скриптов до написания сайтов и приложений. Он невероятно распространен - любой, кто начинает работать с Python, найдет поддержку и получит ответы на все вопросы благодаря активному комьюнити.<p>Но и недостатков у Python хватает. Чтобы начать с ним работать, нужно установить множество дополнительных поддерживающих библиотек и настроить их так, чтобы они не мешали друг другу. Также, на первый взгляд простой и понятный в изучении, Python требует особых навыков для написания и поддержки элегантного кода, на освоение которых уйдет много времени. В нем легко запутаться и допустить неприятные ошибки - например, присвоить двум разным переменным одну и ту же цифру.</p>
6
Большинство компаний, которые сегодня нанимают DevOps, работают именно с Python. У питона много преимуществ - это альтернатива PhP, также полноценный и мультифункциональный язык программирования, у которого множество сценариев использования - от разработки скриптов до написания сайтов и приложений. Он невероятно распространен - любой, кто начинает работать с Python, найдет поддержку и получит ответы на все вопросы благодаря активному комьюнити.<p>Но и недостатков у Python хватает. Чтобы начать с ним работать, нужно установить множество дополнительных поддерживающих библиотек и настроить их так, чтобы они не мешали друг другу. Также, на первый взгляд простой и понятный в изучении, Python требует особых навыков для написания и поддержки элегантного кода, на освоение которых уйдет много времени. В нем легко запутаться и допустить неприятные ошибки - например, присвоить двум разным переменным одну и ту же цифру.</p>
7
<p>Другая неизбежная боль Python - сегодня у него существуют и поддерживаются сразу две ветки. Некоторые скрипты работают на обеих, но есть и такие, которым обязательно требуется новейшая версия. Python, безусловно, быстрее, чем Bash и Perl, но все равно проигрывает по скорости компилируемым языкам и Java.</p>
7
<p>Другая неизбежная боль Python - сегодня у него существуют и поддерживаются сразу две ветки. Некоторые скрипты работают на обеих, но есть и такие, которым обязательно требуется новейшая версия. Python, безусловно, быстрее, чем Bash и Perl, но все равно проигрывает по скорости компилируемым языкам и Java.</p>
8
<h2><strong>Почему будущее скриптов за Golang?</strong></h2>
8
<h2><strong>Почему будущее скриптов за Golang?</strong></h2>
9
За последние несколько лет механика и инфраструктура использования скриптов претерпела большие изменения. Если раньше разработчикам приходилось отдельно разворачивать, настраивать и мониторить сервера для каждого сценария использования скриптов, то сегодня все происходит под одной крышей. Многие разработчики и программисты перешли на использование облачных сервисов и докеров.<p>Появился Kubernetes, железо которого мониторится отдельно. Внутри Kubernetes находятся докер контейнеры, в которых мы запускаем различные сервисы. Основная проблема таких контейнеров - они работают на ограниченном количестве ресурсов, а значит требуют особой регулировки и распределения нагрузки.</p>
9
За последние несколько лет механика и инфраструктура использования скриптов претерпела большие изменения. Если раньше разработчикам приходилось отдельно разворачивать, настраивать и мониторить сервера для каждого сценария использования скриптов, то сегодня все происходит под одной крышей. Многие разработчики и программисты перешли на использование облачных сервисов и докеров.<p>Появился Kubernetes, железо которого мониторится отдельно. Внутри Kubernetes находятся докер контейнеры, в которых мы запускаем различные сервисы. Основная проблема таких контейнеров - они работают на ограниченном количестве ресурсов, а значит требуют особой регулировки и распределения нагрузки.</p>
10
<p>Мониторинг, в идеале, не должен использовать больше ресурсов, чем приложение, однако при использовании стандартных скриптов автоматизации именно так и может произойти. Это повышает стоимость обслуживания, замедляет работу и сильно усложняет поддержку.</p>
10
<p>Мониторинг, в идеале, не должен использовать больше ресурсов, чем приложение, однако при использовании стандартных скриптов автоматизации именно так и может произойти. Это повышает стоимость обслуживания, замедляет работу и сильно усложняет поддержку.</p>
11
<p>Поэтому, вместе с распространением докер-контейнеров, появились и современные способы решения подобных проблем. Одно из таких решений - использование языка Golang для работы с новыми скриптами для Kubernetes.</p>
11
<p>Поэтому, вместе с распространением докер-контейнеров, появились и современные способы решения подобных проблем. Одно из таких решений - использование языка Golang для работы с новыми скриптами для Kubernetes.</p>
12
<p>Go максимально прост в освоении - он состоит всего из двадцати ключевых слов, не использует сложные концепции и позволяет полностью контролировать весь процесс разработки напрямую, что также упрощает процесс отлаживания и дебага. С ним легко начать работать - не нужно устанавливать никакие дополнительные библиотеки и настраивать их взаимодействие.</p>
12
<p>Go максимально прост в освоении - он состоит всего из двадцати ключевых слов, не использует сложные концепции и позволяет полностью контролировать весь процесс разработки напрямую, что также упрощает процесс отлаживания и дебага. С ним легко начать работать - не нужно устанавливать никакие дополнительные библиотеки и настраивать их взаимодействие.</p>
13
<p>В Go есть множество нативных инструментов, которые помогут вам дебажить, мониторить и профилировать программу, что отлично подойдет современным разработчикам и девопсам - благодаря строгой типизации и оптимизированной работе с памятью, Go более производительный и отказоустойчивый, чем упомянутые выше Bash, Python и Perl. Поэтому он отлично подходит для работы с облачными решениями. </p>
13
<p>В Go есть множество нативных инструментов, которые помогут вам дебажить, мониторить и профилировать программу, что отлично подойдет современным разработчикам и девопсам - благодаря строгой типизации и оптимизированной работе с памятью, Go более производительный и отказоустойчивый, чем упомянутые выше Bash, Python и Perl. Поэтому он отлично подходит для работы с облачными решениями. </p>
14
<p>На Go написано уже довольно много софта - в основном это инструменты для DevOps от Google, среди них - сам Kubernetes, Prometheus, докер Helm, и Cockroach DB, а еще роутеры и веб-серверы.</p>
14
<p>На Go написано уже довольно много софта - в основном это инструменты для DevOps от Google, среди них - сам Kubernetes, Prometheus, докер Helm, и Cockroach DB, а еще роутеры и веб-серверы.</p>
15
<p>У Go есть и свои проблемы - из-за небольшого количества ключевых слов он стал довольно многословным (при этом остался хорошо читаемым). В нем есть множество ненужных разработчикам функций, и он требует компилятора, который, правда, легко настроить под любую систему.</p>
15
<p>У Go есть и свои проблемы - из-за небольшого количества ключевых слов он стал довольно многословным (при этом остался хорошо читаемым). В нем есть множество ненужных разработчикам функций, и он требует компилятора, который, правда, легко настроить под любую систему.</p>
16
<h2><strong>Как Golang может облегчить жизнь инженерам и разработчикам?</strong></h2>
16
<h2><strong>Как Golang может облегчить жизнь инженерам и разработчикам?</strong></h2>
17
Самое главное - Go позволяет безопасно и с минимальными усилиями писать максимально производительные скрипты - он чистый, лаконичный, прозрачный, интуитивно понятный и сразу подсвечивает ошибки. С его помощью проще распараллелить несколько задач, и он также дает возможность обеспечить нативную работу с Kubernetes API и поддерживать инфраструктуру на самом актуальном уровне - Kubernetes написан на Golang, поэтому первыми обновления выпускают именно на него.
17
Самое главное - Go позволяет безопасно и с минимальными усилиями писать максимально производительные скрипты - он чистый, лаконичный, прозрачный, интуитивно понятный и сразу подсвечивает ошибки. С его помощью проще распараллелить несколько задач, и он также дает возможность обеспечить нативную работу с Kubernetes API и поддерживать инфраструктуру на самом актуальном уровне - Kubernetes написан на Golang, поэтому первыми обновления выпускают именно на него.