PowerShell - это прежде всего инструмент автоматизации Windows, который расширяет свои функциональные возможности несколькими способами:
- Оболочка (консоль) ala KornShell, CSH, BASH.
- Динамический сценарийlanguage.
- Хостинг-движок ala TK / TCL & Windows Scripting engine.
- Основы для Windows 7 Устранение неполадок.
Я смотрю языки, такие как Python и Rubyкак языки общего назначения, которые, хотя и могут предлагать запросы REPL, не так подходят для программирования оболочки, то есть для легкого запуска системных команд и EXE-файлов, захвата stdin / out, работы с неразрывными ошибками по сравнению с завершающими ошибками и т. д. Именно здесь PowerShell сияет,
OTOH, я бы не использовал PowerShell для всех общих задач программирования.Он не может:
- Определить типы .NET (кроме тех, которые относятся к типу PSCustomObject)
- Реализовать интерфейс
- Реализовать что-нибудь общее
- Невозможно вызвать универсальные методы
- Не поддерживает синтаксис вызова метода статического расширения, например, array.Where ()
- Не поддерживает понятие импорта пространства имен (т. Е. С использованием системы; в C #)
Как гласит старая поговорка, обязательно выберите правильный инструмент для работы.