Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
Результаты опроса: PowerShell – это язык программирования или нет?
Да 19 79.17%
Нет 5 20.83%
Свой ответ (в комментариях) 0 0%
Голосовавшие: 24. Вы ещё не голосовали в этом опросе

 
 
Супер-модератор
Эксперт 1СЭксперт по компьютерным сетямЭксперт HardwareЭксперт Windows
 Аватар для Maks
9408 / 5206 / 623
Регистрация: 13.03.2013
Сообщений: 18,326
Записей в блоге: 17

PowerShell – это язык программирования или нет?

03.07.2025, 15:36. Показов 10814. Ответов 159
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую Вас, уважаемые участники форума!

Собственно, сабж!

PowerShell — это кроссплатформенное решение для автоматизации задач, которое включает оболочку командной строки, скриптовый язык и платформу управления конфигурацией.
PowerShell поддерживается в Windows, Linux и macOS.



Некоторые специалисты из сферы информационных технологий, не признают его в качестве языка программирования. Они считают, что код, написанный им – это только скрипт, не более. Однако это не так.

PowerShell (в переводе с английского «мощная оболочка») считается скриптовым языком программирования (ЯП) с объектно-ориентированным подходом. Он предназначен для создания команд, которые управляют компонентами ОС Windows, запуска автоматизированных сценариев в интегрированной среде ISE. Хотя изначально и был создан для выполнения административных задач, но он также имеет элементы ЯП: условия, циклы, исправление ошибок, взаимодействие с переменными, объектами, массивами.

Он имеет унифицированный синтаксис, использует принцип обозначения команд в формате «глагол-существительное». Это делает его удобным для разработчиков, сисадминов.

Источники:
https://learn.microsoft.com/ru... rshell-7.5
https://bgstaff.ru/news/Powers... i629315675

Так как всё таки интерпретировать PowerShell? Является ли он языком программирования? Жду Ваших мнений!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.07.2025, 15:36
Ответы с готовыми решениями:

PowerShell vs PowerShell ISE
Скажите, пожалуйста, чем PowerShell отличается от PowerShell ISE. Спасибо.

PowerShell 6.x+ нет Windows Workflow Foundation
название темы скорее вопрос. Т.к. потетестил на PS 7.1 ( надеюсь не особо устаревшим ) и получил...

как переделать эту программу в форму Windows или вставить этот код PowerShell в форму Windows?
Как нам переделать программу, чтобы открыть XML-файл в форме Windows и прочитать значение процента...

159
Любознательный
 Аватар для YuS_2
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
06.07.2025, 23:09
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от FlasherX Посмотреть сообщение
Сабж не про Питон. Поэтому присовокуплять сравнение его ЯП с СЯП к сабжу несколько неуместно.
Уместно, в качестве сравнения и аналогии, ибо и то и другое - скриптовые языки. Однако питон общепринято относят к языкам программирования, а powershell - ну, мягко говоря, нет, иначе этого топика и не было бы...

Цитата Сообщение от FlasherX Посмотреть сообщение
в вашей невнимательности.
Нет. Я неоднократно просил дать определения. Поэтому, дело не в моей невнимательности, а скорее в вашей, скажем так, осторожности... никаких определений вы не показали, исключительно размазались мыслью по древу... ну, вот и говорю, что все кто пытается высказывать категоричные суждения о терминах том, что является языком программирования, а что нет, опираются исключительно на собственное я, безо всяких аргументов. В общем, похоже надо закруглятся... ничего нового тут не будет.
0
163 / 50 / 5
Регистрация: 03.06.2020
Сообщений: 580
07.07.2025, 07:10
Цитата Сообщение от Maks Посмотреть сообщение
это кроссплатформенное решение для автоматизации задач,
Уверен, это значительно большее маркетинго-рекламное мнение. Попробуйте в любом Linux вывести GCI -Path /home или Get-Acl -Path /home ... или ещё с десяток ключевых команд. Что получится?
Цель использования PS - Linux развертывание веб-структур, которые лучше и давно используются в Linux. Далее поддержка SMB серверов с Linux. Мне кажется не более.
Цитата Сообщение от Maks Посмотреть сообщение
Некоторые специалисты из сферы информационных технологий, не признают его в качестве языка программирования. Они считают, что код, написанный им – это только скрипт, не более.
Ещё более "некоторые" не признают PHP, JS как языки программирования. Ну и что из этого? Не работают сотни тысяч сайтов?
Цитата Сообщение от Maks Посмотреть сообщение
имеет элементы ЯП: условия, циклы, исправление ошибок, взаимодействие с переменными, объектами, массивами.
Также с некоторой интеграцией с СУБД, IIS, Hyper-V. Конечно, если использовать .NetFrameWork + C# будет возможность создания полноценных структур и приложений. Мне кажется до подобного использования для PS не ставится задачи. Автоматизировать административные задачи, архивации, мониторинга, управления AD + клиенты ... Пожалуй есть повод порадоваться этим инструментом хотя б этим. Который конечно мощнее скриптов bat - cmd - vbs, но далеко не находится на уровне *.exe + запуск чего-то ещё. Запускаемый екзешник конечно можно создать из .ps1. Даже с GUI. Если использовать интеграцию с полноценными ЯП. Но в этом случае, почему с нуля не использовать любой ЯП? Спец по PShell наверняка быстро найдет эту возможность и освоит. Если конечно спец.
1
Любознательный
 Аватар для YuS_2
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
07.07.2025, 09:49
Цитата Сообщение от Segera Посмотреть сообщение
Попробуйте в любом Linux вывести GCI -Path /home или Get-Acl -Path /home ... или ещё с десяток ключевых команд. Что получится?
А что должно получиться?


Цитата Сообщение от Segera Посмотреть сообщение
Запускаемый екзешник конечно можно создать из .ps1. Даже с GUI. Если использовать интеграцию с полноценными ЯП. Но в этом случае, почему с нуля не использовать любой ЯП?
Можно, но это не будет полноценным приложением в машинном коде, это будет архив, который будет распаковываться и исполняться в интерпретаторе... для получения полноценного приложения, пока не существует инструментов - отсутствует необходимость, наверное и если вдруг кому-то понадобится, то, всё верно, уже существуют более предназначенные для этого средства. А писать полноценный компилятор для powershell, с его динамической типизацией и прочими присущими скриптовому языку деталями... ну, такое себе занятие, вряд ли имеет хоть какой-нибудь смысл.
0
163 / 50 / 5
Регистрация: 03.06.2020
Сообщений: 580
07.07.2025, 14:50
Цитата Сообщение от YuS_2 Посмотреть сообщение
писать полноценный компилятор для powershell,
PowerGUI использовал не раз для запускаемого скрипта .ps1, который надо было распространить для пользовательского опроса или в автомате поиск занятого кем-то файла. Раскрываю его 7Zip, там был почти комплект сопровождения из .rsrc/manifest ... / .text, не многим сложнее любого .ехе
Конечно, это далеко не полный компилятор C#
0
89 / 22 / 1
Регистрация: 04.07.2025
Сообщений: 97
07.07.2025, 15:13
PowerShell - это интерфейс командной строки, который можно использовать для написания скриптов / функций / модулей и даже полноценных программ для DevOps и многого другого. Однако сам PowerShell языком программирования не является, как, например, тот же самый Visual Studio.
0
Модератор
Эксперт функциональных языков программирования
3136 / 2283 / 469
Регистрация: 26.03.2015
Сообщений: 8,886
07.07.2025, 16:23
Цитата Сообщение от Filat-off Посмотреть сообщение
PowerShell не является языком программирования и никогда им не являлся. Это скриптовый язык, который использует конслольные версии прикладоного ПО и ничего нового он сгенерировать не может, в отличие от реальных ЯП.
Сценарные (скриптовые) языки являются языками программирования (по определению).

Один и тот же язык программирования может одновременно быть сценарным и "обычным" - в зависимости от использования.
Точно также, один и тот же язык программирования может одновременно быть интерпретируемым и компилируемым.

В настоящий момент сценарные языки делят на командно-сценарные, прикладные сценарные, универсальные сценарные. Эта классификация тоже условная - один язык может попадать в несколько категорий.

Ваш подход "Х - это не ЯП, так как кто-то использует его для выполнения команд ОС", мягко говоря, странный. Если очень сильно захотеть, то можно любой ЯП для этого использовать. А, например, F# можно использовать прямо сейчас, без дополнительных телодвижений.

Цитата Сообщение от Filat-off Посмотреть сообщение
Однако сам PowerShell языком программирования не является, как, например, тот же самый Visual Studio.
Visual Studio - это IDE, а не язык программирования.
2
89 / 22 / 1
Регистрация: 04.07.2025
Сообщений: 97
07.07.2025, 19:50
Shamil1, скриптовый язык языком программирования не является в априори. PowerShell это всего лишь оболочка, которая работает с командами операционной системы(по факту cmd) и консольными версиями прикладного ПО. О каком языке программирования идет речь? Поясните, пожалуйста?
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
07.07.2025, 19:58
Filat-off, глубоко заблуждаетесь. Официальный источник гласит:
"PowerShell - это кроссплатформенное решение для автоматизации задач, которое включает оболочку командной строки, скриптовый язык и платформу управления конфигурацией"
0
89 / 22 / 1
Регистрация: 04.07.2025
Сообщений: 97
07.07.2025, 20:05
Karen87, ну так я и не говорю, что PS не скриптовый язык, но скриптовый язык ЯП не является. К тому же если посмотреть технически, то PS всего лишь оболока для работы с командами и консолью. Вы, мягко говоря, заблуждаетесь.
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
07.07.2025, 20:08
Filat-off, итак, по порядку:
Ваша реплика № 1:
Цитата Сообщение от Filat-off Посмотреть сообщение
PowerShell это всего лишь оболочка, которая работает с командами операционной системы(по факту cmd) и консольными версиями прикладного ПО.
Ваша реплика № 2:
Цитата Сообщение от Filat-off Посмотреть сообщение
ну так я и не говорю, что PS не скриптовый язык
И объясните, наконец, с чего Вы решили, что скриптовый язык не является языком программирования? По-вашему, Python и JavaScript тоже не языки программирования?
1
89 / 22 / 1
Регистрация: 04.07.2025
Сообщений: 97
07.07.2025, 20:11
Karen87, цитируете через строки чтобы попытаться меня запутать?
Читайте далее тогда уж:
Цитата Сообщение от Filat-off Посмотреть сообщение
скриптовый язык языком программирования не является в априори.
Я давно определился и точно знаю, что скриптовый язык ЯП не является.
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
07.07.2025, 20:12
Цитата Сообщение от Filat-off Посмотреть сообщение
цитируете через строки чтобы попытаться меня запутать?
Да нет, просто Вы в своих же показаниях путаетесь
Цитата Сообщение от Filat-off Посмотреть сообщение
Я давно определился и точно знаю, что скриптовый язык ЯП не является.
А Ваше мнение - это истина в последней инстанции?
Вы говорите, что точно знаете. Знание подобного рода приобретается, как минимум, в рамках изучения специализированной литературы. Поясните, откуда у Вас такое редкое знание, с которым здесь никто не согласен?
0
89 / 22 / 1
Регистрация: 04.07.2025
Сообщений: 97
07.07.2025, 20:13
Цитата Сообщение от Karen87 Посмотреть сообщение
И объясните, наконец, с чего Вы решили, что скриптовый язык не является языком программирования? По-вашему, python и JavaScript тоже не языки программирования?
Это не я решил, на том же питоне пишут мобильные приложения. PS может написать программу? Нет. Только скрипт. А это, простите, не программирование.

Добавлено через 57 секунд
Цитата Сообщение от Karen87 Посмотреть сообщение
А Ваше мнение - это истина в последней инстанции?
Объясните пожалуйста с каких пор скриптовый язык, который использует команды операционной системы и консольные версии прикладного ПО, стал ЯП?
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
07.07.2025, 20:16
Цитата Сообщение от Karen87 Посмотреть сообщение
По-вашему, Python и JavaScript тоже не языки программирования?
И хотелось бы услышать ответ на этот вопрос

Добавлено через 59 секунд
Цитата Сообщение от Filat-off Посмотреть сообщение
Это не я решил, на том же питоне пишут мобильные приложения. PS может написать программу? Нет. Только скрипт. А это, простите, не программирование.
Что такое программа? Да будет Вам известно, что вывод Hello World является программой

Добавлено через 26 секунд
Цитата Сообщение от Filat-off Посмотреть сообщение
Объясните пожалуййста с каких пор скриптовый язык, который использует команды операционной системы и консольные версии прикладного ПО, стал ЯП?
Вы отвечаете вопросом на вопрос. Дайте, пожалуйста, ответ на мой вопрос
0
Модератор
Эксперт Java
 Аватар для alecss131
2861 / 1367 / 409
Регистрация: 11.08.2017
Сообщений: 4,387
Записей в блоге: 2
07.07.2025, 21:40
Цитата Сообщение от Filat-off Посмотреть сообщение
мобильные приложения
С каких пор мобильные приложения стали критерием программы и ЯП?
0
Модератор
Эксперт функциональных языков программирования
3136 / 2283 / 469
Регистрация: 26.03.2015
Сообщений: 8,886
07.07.2025, 21:46
Цитата Сообщение от Filat-off Посмотреть сообщение
скриптовый язык языком программирования не является в априори
Как Вы отличаете скриптовый язык от не скриптового? Лично я не вижу никаких принципиальных различий между PowerShell и С++.

Возможно, Вы путаете язык и окружение.

Вообще говоря, для того, чтобы создать язык программирования, нужен только Блокнот и знание чего-нибудь типа БНФ. Теоретически, создать ЯП и писать программы можно было и 1000 лет тому назад, несмотря на то, что эти программы не на чем было запускать.
1
6985 / 2875 / 1106
Регистрация: 06.06.2017
Сообщений: 9,765
07.07.2025, 23:40
Цитата Сообщение от YuS_2 Посмотреть сообщение
Однако питон общепринято относят к языкам программирования, а powershell - ну, мягко говоря, нет, иначе этого топика и не было бы...
Только что-то текущие результаты опроса в эту "общепринятость" пока не влезают.

Цитата Сообщение от YuS_2 Посмотреть сообщение
Нет. Я неоднократно просил дать определения.
Это в список моих задач не входило. Я совершенно конкретно объяснил, почему не вижу в этом смысла. Более того, "определение терминологии" из первого ответа для меня неясная абстракция.

Цитата Сообщение от YuS_2 Посмотреть сообщение
Поэтому, дело не в моей невнимательности, а скорее в вашей, скажем так, осторожности... никаких определений вы не показали, исключительно размазались мыслью по древу...
Я уже дал понять, почему их нет. И исключительно то, чего вы пытаетесь добиться, получив подобные ответы, по мне, пустая трата времени и упражнения в ещё большем размазывании мыслей, т. е. ни к чему положительному это скорее всего не приведёт.

Цитата Сообщение от YuS_2 Посмотреть сообщение
ну, вот и говорю, что все кто пытается высказывать категоричные суждения о терминах том, что является языком программирования, а что нет, опираются исключительно на собственное я, безо всяких аргументов.
С этим не ко мне. Я не оценивал термин ЯП.

Цитата Сообщение от YuS_2 Посмотреть сообщение
В общем, похоже надо закруглятся... ничего нового тут не будет.
Так это по сути уже изначально холивар. Можно было и не начинать. Да и ценности в этом особо никакой нет.
1
 Аватар для MallSerg
91 / 58 / 14
Регистрация: 16.11.2018
Сообщений: 274
08.07.2025, 01:23
Как по мне так все довольно просто.

Есть логика она позволяет делать выводы опираясь на 4ре простых закона.
Например взять определение "формализованного языка программирования" и на базе этого определения делать выводы ...
Чеп. быть формализованным языку нужно явно и однозначно описать все возможные варианты своего поведения делая невозможным неоднозначное поведение. т.е. язык должен подчинятся матлогике без парадоксов разночтений и противоречий.
Чеп быть языком нужна лексика, синтаксис и грамматики. т.е. набор объектов и набор возможных операций над ними т.е. возможность выражаться,, ну типа составлять из объектов и операций над мини выражения какой то логики по сути строгие матоперации.
Чеп быть программирования. Нада чеб эта строгая логика выполнялась на машине - конечном автомате (компьютере там или виртуальной машине) в общем все че попадает под определение конечного автомата.

=).
Как вывод HTML является формализованным языком программирования т.к. полностью формализован хоть и расширяем чем угодно выполняется на конечном автомате (браузер) не допускает разночтений.

С/C++ не формализованные языки программирования т.к. нет однозначного определения логики поведения в некоторых моментах например " i = (i++ > ++i); " разработчики языков делают это сознательно что бы не усложнять грамматики языков никому не нужных случаях.

Каждый человек понимает что является языком программирования а что нет в меру своего понимания т.е. формирует собственное понятие на базе собственного опыта и знаний т.е. и как правило у разных людей сформированные понятия "язык программирования" различные т.е. нет общей формализованной базы на которой строятся суждения т.е. как сказали и как поняли далеко не всегда одно и то же.

Как по мне так повершел вполне себе компилируемый мультипарадигменный ЯП
1
163 / 50 / 5
Регистрация: 03.06.2020
Сообщений: 580
08.07.2025, 07:16
Цитата Сообщение от Filat-off Посмотреть сообщение
скриптовый язык языком программирования не является в априори
Отличительной особенностью ЯП является поддержка объектов, конструкторов ( New ), многопоточности ( с трудом в PHP, JS ( привет асинхронности и очереди )), функции. Всё это есть в PowerShell.
Если хотя б эти три функционала убрать, любой ЯП окажется простым скриптовым и более того - текстовым.
С введением плагина в VsCode, вполне можно использовать как IDE. Со всеми удобствами по форматированию, вставках блоков и т.д. Если подключить "AI Toolkit", Copilot+ - тем более.
0
89 / 22 / 1
Регистрация: 04.07.2025
Сообщений: 97
08.07.2025, 09:23
alecss131, Shamil1, Segera, Karen87, да не является PS языком программирования. PS то всего лишь оболочка, которая работает с консолью системы и консольными версиями прикладного ПО, причем в последнем случае использует ключи этого самого ПО, ибо собственного набора команд для обработки у PS нет. Скрипт PS запускает оболочку и выполняет системные команды или команды прикладного ПО. Какое это программирование? Это в лучшем случае инструкция (даже не набор), но никак не ЯП.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.07.2025, 09:23
Помогаю со студенческими работами здесь

PowerShell v5, ошибка: "Не удается создать тип. В этом языковом режиме поддерживаются только основные типы"
Добрый день! обновил powershell до версии 5 столкнулся столкнулся с ошибкой New-Object : Не...

Запуск скрипта powershell при появлении файла с нужными расширениями и редактирование этих расширений
Здравствуйте, я вообще не программист а обычный смертный. Ладно чего воду лить, у меня появилась...

Как Powershell разбирает командную строку ( наконец-то это появилось в документации ! )
ох-хо. не прошло и 15 лет. появился сей док. 1-го Марта 2023, но увидел только сейчас ...

Как называется язык программирования, на котором пишут команды в консольном окне cmd?
Как называется язык программирования, которым пишут команды в консоли (cmd) ?

Язык программирования
Я конечно сейчас херню напишу,но.Во что превращается например команда dir?ЧТо заставляет ее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru