All streams
Search
Write a publication
Pull to refresh
130
0
Станислав Ярмонов @StanEgo

Tech Lead

Send message
Согласитесь, что ieval('_.basename()… — это не верх синтаксического совершенства )
А в чем Jscript не соответствует ECMA-262? Мне, право, интересно. Да и не имеет ECMAscript никакого представления, что такое stdin/stdout, так что для пайпов его не так просто использовать.
В шеллах этого «префиксирования» навалом, включая cmd.exe. Даже в SQL его можно найти. Тогда можно сказать, что это смесь шелла, SQL, C# :)
По поводу скорости целиком поддерживаю, хотя как язык он весьма интересен. Функциональный, динамический. От таких скорости обычно не ждешь, но можешь ожидать интересных решений :) Что до Jscript, то в основе PS лежат достаточно строгие CLS-языки, которые становясь частью интерактивного действа были вынуждены обрасти всякой синтаксической мишурой. Я боюсь, что будь на его Jscript, он выглядел бы не лучше :)
хотя графический интерфейс как то не замечал

Обычно использовались HTA (HTML Applications).
Большое спасибо за хороший пример с пояснением.

плохо в 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(...) или так:

Copy Source | Copy HTML
  1. ls *.jpg | foreach {
  2.     $image = new-object System.Drawing.Bitmap $_.FullName;
  3.     $graphic = [System.Drawing.Graphics]::FromImage($image);
  4.     $graphic.DrawLine(...);
  5.     $graphic.FillPolygon(...);
  6.     $graphic.DrawString(...);
  7.     $image.Save(...)
  8. }

Все-таки полноценные объекты и их текстовая сериализация (которая далеко не всегда и далеко не везде) — это не совсем одно и то же.
В каждой шутке есть доля предложения :) На самом деле я считаю Ваш способ наиболее удачным для объективного сравнения языков. Ибо обычно их сравнительный анализ сводится к демагогии сторон. А будь где-нибудь, когда-нибудь фолиант с большим количеством примеров на самых разных языках и с результатами сравнения этих примеров по некоторым объективным показателям (скорость, размер кода и т.п.), у нас был бы повод адекватно посмотреть на возможности, не опираясь на собственные привычки.
> Да я не сравниваю, просто говорю, что one-liner выглядел убого, ничем не лучше оригинальных perl`измов.

А Вы попробуйте ради интереса написать тоже самое на баше в виде пайпа. Уверяю, хитросплетения всяких grep/awk оставит те же самые впечатления у людей непосвященных в таинство действия.

> Все же, согласитесь, это просто еще один Шелл, только с очень большим опозданием.

Тогда можно было бы сказать, что питон — просто еще один язык, только с очень большим опозданием. Но это не совсем так. И python и powershell несут нам немало новых возможностей.
Побольше бы таких мимопроходцев :)
> ближе к оригиналу

Это, если не секрет, к какому оригиналу ближе? :) Потому как у меня в уме была больше классика ФП в виде LISP и скобочки, скобочки, еще больше скобочек :)
Пример однозначно в статью, спасибо)
12 ...
33

Information

Rating
6,209-th
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity