А в чем Jscript не соответствует ECMA-262? Мне, право, интересно. Да и не имеет ECMAscript никакого представления, что такое stdin/stdout, так что для пайпов его не так просто использовать.
По поводу скорости целиком поддерживаю, хотя как язык он весьма интересен. Функциональный, динамический. От таких скорости обычно не ждешь, но можешь ожидать интересных решений :) Что до Jscript, то в основе PS лежат достаточно строгие CLS-языки, которые становясь частью интерактивного действа были вынуждены обрасти всякой синтаксической мишурой. Я боюсь, что будь на его Jscript, он выглядел бы не лучше :)
плохо в powershell — очень длинные имена классов из .net(в visualstudio от этого должно как-то спасать автодополнение, а в powershell?)
Для автодополнения можно использовать PowerTab. Ну а длинные имена классов и прочий функционал надо постепенно заворачивать в скриптлеты или конвертеры. Как, например, в PowerShell Community Extensions есть Import-Bitmap вместо моих сложных конструкций с инстанцированием System.Drawing.Bitmap. Или как по аналогии с выражением [xml]"?<root><item>item 1</item></root>" можно сделать конвертер [image]. Имхо, проблема PS в том, что он пока не накопил достаточного количества «синтаксического сахара», чтобы обернуть все те возможности, что есть в .NET FCL.
чем не объект? далее мы просто вырезаем интересующую строчку gm identify -verbose cole-gerst-blog.jpg |grep Geometry|cut -d: -f2
Может тем, что я не могу делать так: $file.Directory.GetAccessControl().SetAuditRule(...) или так:
В каждой шутке есть доля предложения :) На самом деле я считаю Ваш способ наиболее удачным для объективного сравнения языков. Ибо обычно их сравнительный анализ сводится к демагогии сторон. А будь где-нибудь, когда-нибудь фолиант с большим количеством примеров на самых разных языках и с результатами сравнения этих примеров по некоторым объективным показателям (скорость, размер кода и т.п.), у нас был бы повод адекватно посмотреть на возможности, не опираясь на собственные привычки.
> Да я не сравниваю, просто говорю, что one-liner выглядел убого, ничем не лучше оригинальных perl`измов.
А Вы попробуйте ради интереса написать тоже самое на баше в виде пайпа. Уверяю, хитросплетения всяких grep/awk оставит те же самые впечатления у людей непосвященных в таинство действия.
> Все же, согласитесь, это просто еще один Шелл, только с очень большим опозданием.
Тогда можно было бы сказать, что питон — просто еще один язык, только с очень большим опозданием. Но это не совсем так. И python и powershell несут нам немало новых возможностей.
Это, если не секрет, к какому оригиналу ближе? :) Потому как у меня в уме была больше классика ФП в виде LISP и скобочки, скобочки, еще больше скобочек :)
Обычно использовались HTA (HTML Applications).
Для автодополнения можно использовать PowerTab. Ну а длинные имена классов и прочий функционал надо постепенно заворачивать в скриптлеты или конвертеры. Как, например, в PowerShell Community Extensions есть Import-Bitmap вместо моих сложных конструкций с инстанцированием System.Drawing.Bitmap. Или как по аналогии с выражением [xml]"?<root><item>item 1</item></root>" можно сделать конвертер [image]. Имхо, проблема PS в том, что он пока не накопил достаточного количества «синтаксического сахара», чтобы обернуть все те возможности, что есть в .NET FCL.
Может тем, что я не могу делать так: $file.Directory.GetAccessControl().SetAuditRule(...) или так:
Copy Source | Copy HTML- ls *.jpg | foreach {
- $image = new-object System.Drawing.Bitmap $_.FullName;
- $graphic = [System.Drawing.Graphics]::FromImage($image);
- $graphic.DrawLine(...);
- $graphic.FillPolygon(...);
- $graphic.DrawString(...);
- $image.Save(...)
- }
Все-таки полноценные объекты и их текстовая сериализация (которая далеко не всегда и далеко не везде) — это не совсем одно и то же.
А Вы попробуйте ради интереса написать тоже самое на баше в виде пайпа. Уверяю, хитросплетения всяких grep/awk оставит те же самые впечатления у людей непосвященных в таинство действия.
> Все же, согласитесь, это просто еще один Шелл, только с очень большим опозданием.
Тогда можно было бы сказать, что питон — просто еще один язык, только с очень большим опозданием. Но это не совсем так. И python и powershell несут нам немало новых возможностей.
Это, если не секрет, к какому оригиналу ближе? :) Потому как у меня в уме была больше классика ФП в виде LISP и скобочки, скобочки, еще больше скобочек :)