Ответ 1
В принципе, ответ заключается в том, что Unix сделал это навсегда. Разумеется, если вы напишете несколько сценариев Bash, что вы будете использовать, и на самом деле приятно иметь передачу знаний синтаксиса PowerShell по одному на один на Bash.
Ответы подробно описаны в Bruce Payette Windows PowerShell в действии, второе издание (Kindle Location 3391).
Давайте поговорю о наиболее спорном проектном решении в Язык PowerShell.
И победитель: почему, черт возьми, мы не использовали обычные символы для сравнения, такие как > , > =, <, < =, == и and = =.
Ответ заключается в том, что > и < символы используются для перенаправления вывода. Потому как PowerShell - это оболочка и все языки оболочки за последние 30 лет использовали > и < для перенаправления ввода-вывода люди ожидали, что PowerShell должен делать то же самое. Во время первой публичной бета-версии PowerShell это тема вызвала дискуссии, которые продолжались в течение нескольких месяцев.
Мы посмотрели различные альтернативы, такие как модальный синтаксический анализ, где иногдa > означает больше, а иногда и перенаправление. Мы посмотрели альтернативные последовательности символов для операторов типа: > или → , либо для перенаправления или сравнения. Мы провели тесты на удобство и провели фокус-групп, и, в конце концов, остановились на том, с чего мы начали.
Операторы перенаправления: > и <, а операторы сравнения взятой из команды Unix test (1). Мы ожидаем, что, поскольку эти операторы имеют 30-летнюю родословную, они адекватны и уместны для использовать в PowerShell. (Мы также ожидаем, что люди будут продолжать жалуйтесь на это решение, хотя, надеюсь, не на 30 лет.)