взаємні почуття

я ненавиджу powershell. і, здається, воно ненавидить мене навзаєм. ось невеличкий приклад:

function test([string] $a, [string] $b) {
  Write-Host "аргумент 1: $a"
  Write-Host "аргумент 2: $b"
}


судячи з формату визначення, функцію треба викликати так:

test("один", "два")

невірно, сідай, двійка. правильно — за задумом творців powershell, — ось так:

test "один" "два"

бо «л» — це логіка!

це тим більше логічно (з великої літери /\), що методи класів у тому ж таки powershell правильно викликати… з дужками і комами, звісно ж:

$b.Replace("два", "три")

як це чому? тому що логіка! рукалице.

p.s. найгірше те, що перший, неправильний виклик функції test("один", "два") жодної помилки не генерує: powershell просто зліпить все, що в дужках, докупи й передасть до функції як перший аргумент ($a), залишивши другий порожнім. я вже згадував логіку?