Статья Кристофера Тоцци со списком лучших языков программирования для разработки приложений (опубликована в этом же номере журнала. — Прим. ред.) вызвала бурную реакцию в социальных сетях в связи с отсутствием упоминания о популярном языке сценариев Microsoft PowerShell. В ответ на такие отклики автор уточнил, что при сравнении языков сценариев с языками программирования можно достаточно четко определить, что следует относить к каждой из категорий.

Цель Кристофера Тоцци в его статье была проста: объяснить, почему он считает Go, Python, Scala, Ruby и Си превосходными языками программирования в составе набора инструментов для тех, кто работает с DevOps. Напомню, что набор DevOps нацелен на активное взаимодействие разработчиков со специалистами по информационно-технологическому обслуживанию и взаимную интеграцию их рабочих процессов друг с другом.

Список был составлен на основе шести ключевых критериев:

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

Как отметил Тоцци после просмотра откликов в социальных сетях, PowerShell — это язык сценариев, и он не относится к категории языков программирования в формальном значении этого слова. «Я не хотел обидеть приверженцев PowerShell. Без сомнения, PowerShell — мощный язык сценариев, что, однако, не делает его инструментом программирования для разработки», — написал он. Однако, раз уж тема PowerShell возникла в ответ на статью Кристофера, давайте поговорим о преимуществах PowerShell как языка сценариев и о той пользе, которую могут извлечь из PowerShell те, кто работает с инструментами DevOps.

Недавно я побеседовал с Миком Плетчером, обладателем статуса Microsoft MVP в части «облака» и управления центрами обработки данных. Его сайт MickIT.com фигурирует под номером 30 в списке блогов Top 50 PowerShell на Feedspot.

Первым делом я спросил его о том, к какой, по его мнению, категории следует отнести PowerShell, если проводить сравнение между языками сценариев и языками программирования. Плетчер подтвердил, что PowerShell, безусловно, язык сценариев, очень мощный в своем качестве, однако Тоцци был прав, когда не стал упоминать его в числе языков программирования для DevOps.

Затем Плетчер добавил, что сценарии PowerShell могут быть скомпилированы как исполняемые файлы для распространения и использования, но при этом они остаются сценариями, выполняемыми внутри файла, а не какого-либо рода программами. Он также подтвердил, что основной целью PowerShell в свете потребностей DevOps, системных администраторов и ИТ-специалистов является автоматизация различных задач администрирования. Сегодня большинство продуктов и служб Microsoft имеют «зацепки», которые позволяют пользоваться преимуществами PowerShell. Кроме того, некоторые производители оборудования, такие как Cisco и VMware, добавляют аналогичные возможности в службы, позволяющие задействовать PowerShell для управления системами.

На вопрос, каковы, по его мнению, основные сферы применения PowerShell, Плетчер дал мне следующий список возможных сценариев:

  1. Автоматизация повторяющихся задач.
  2. ...
Это не вся статья. Полная версия доступна только подписчикам журнала. Пожалуйста, авторизуйтесь либо оформите подписку.
Купить номер с этой статьей в PDF