?

Log in

коммандлеты - Поклонник деепричастий [entries|archive|friends|userinfo]
Anatoly Vorobey

[ website | Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Links
[Links:| English-language weblog ]

коммандлеты [авг. 3, 2004|06:18 pm]
Anatoly Vorobey
Про новый shell в Лонгхорне рассказывают вот тут (англ., ссылка от yms).

Хоть стой, хоть падай, честное слово. Двадцать лет ждали и просили Майкрософт, чтобы сделали нормальный shell с нормальными возможностями. Пережили поколения command.com'ов и cmd.exe, но так и не дождались.

И вот, нате вам, Майкрософт созрел. Объектно-ориентированная командная строка. “Коммандлеты”, возвращающие .NET-объекты. Гусары молчат.
СсылкаОтветить

Comments:
[User Picture]From: dimrub
2004-08-03 08:30 am
Двадцать лет ждали и просили Майкрософт, чтобы сделали нормальный shell с нормальными возможностями.

Мне кажется, это примерно как ожидать от производителя автомобилей изготовления первоклассных магнитол (то же самое, но в большей степени, касается, например, встроенного виндошного тельнета). А вообще, Лонгхорн, конечно, приятная штука местами.
(Ответить) (Thread)
[User Picture]From: avva
2004-08-03 08:32 am
Т.е., по-твоему, позиция Майкрософт должна быть следующей: веб-браузер - интегральная часть операционной системы, а нормальный shell - нет?

Это звучит не слишком разумно, признаться.
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: xenocid
2004-08-03 08:44 am
Я конечно не администратор, но по-моему проблема достаточно надуманная. По крайней мере на уровне W2K, XP, 2003. Что конкретно требуется от развитого shell-а? Возможность писать (сложные) сценарии? Это есть достаточно давно через VBScript и соответсвующий Shell object. Развитый интерфейс командной строки? Так от MS было бы странно его ждать, если они с самого начала придерживались другой парадигмы.
(Ответить) (Thread)
From: finger6
2004-08-03 08:56 am

VBScript нестандартен, следовательно, неудобен

Полагаю, что гораздо более удобным вариантом была бы высоко совместимая с sh/bash/tcsh оболочка (для удобства конфигурации разных сетевых клиентов, так как это делается в ***-ix-ах) и набор гну-сных утилит. Надеюсь, что msh это шаг в верном направлении.
(Ответить) (Parent) (Thread)
[User Picture]From: xenocid
2004-08-04 10:48 am

Re: VBScript нестандартен, следовательно, неудобен

Это в Unix VBScript нестандартен, а в Win32 как раз это - стандарт. Скажем любое офис-приложение позволяет писать макросы на VBScript.
(Ответить) (Parent) (Thread)
[User Picture]From: pargentum
2004-08-03 09:21 am
>Так от MS было бы странно его ждать, если они с самого начала придерживались другой парадигмы.

Во времена MS DOS они придерживались именно той парадигмы - другого интерфейса, кроме COMMAND.COM к системе не прилагалось.

В CMD.EXE некоторые совсем уж вопиющие вещи были исправлены, но он такой начиная с OS/2 1.x, и с тех пор тоже не изменился.
(Ответить) (Parent) (Thread)
[User Picture]From: xenocid
2004-08-03 10:12 am
Ну вы бы еще более древние времена вспомнили. MS-DOS и Windows 2000 - все-таки две большие разницы. В W2K есть нормальный shell scripting. То, что он несовместим с синтаксисом sh/bash/tcsh может быть и минус с точки зрения переноса каких-нибудь конфигураций с ix, но по-моему это довольно редкий случай. А с другой стороны, именно программировать на WSH по-моему удобнее, чем на ix shell script.

Ну и потом реализация cygwin для win32 доступна очень давно.

Т.е. мне непонятно в чем обвиняют MS? В том, что не предоставлялись средства shell scripting или в том, что они были несовместимы с ix?
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: yms
2004-08-08 07:04 am
Через VBScript/JScript не скажешь так вот просто dir > file.
(Ответить) (Parent) (Thread)
[User Picture]From: xenocid
2004-08-10 12:27 am
Хм... А почему не сказать dir > file просто в командной строке? Cmd.exe - это вполне понимает.

Пойнт в том, что базовые возможности shell в cmd.exe есть и так, если есть необходимость писать сложные сценарии - есть WSH. Придумайте класс задач который не попадает в эти две группы, а?
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: pure_white_snow
2004-08-03 08:46 am
Зачем Windows shell?
Лучше бы вместо всяких shell'ов встроили в систему нормальные утилиты, заменяющие ping, tracert, ipconfig, net и т.д.
(Ответить) (Thread)
[User Picture]From: dimrub
2004-08-03 08:58 am
Please define "нормальные"
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: agathis
2004-08-03 12:20 pm
Ну как же, юниксоидов к себе переманивать.
Многое проще делать из командной строки -- многие пользуются портами юниксовых программ на виндах вовсе не потому, что они функциональнее, а потому, что удобнее из консоли.
Для пингов, трасертов и тому подобного это тоже актуально. Люди-то разные.
(Ответить) (Parent) (Thread)
[User Picture]From: juan_gandhi
2004-08-03 10:51 am
Ну представьте я пишу комманд-лайн утилиты на джаве; они могут работать везде, где есть командная строка. Как из них слепят скрипты - не моё дело; моё дело - предоставить возможность пользователю передать параметры и получить результат. А для этого нужны лишь строковые environment variables, pipes and redirections. И ещё, может быть, буковка &, чтобы не ждать.

Но у Майкрософта, конечно, свои интересы, скрываемые за претенциозными закидонами типа объектов в скриптах. Зачем нужен объект в скрипте? Because we can. Ну и, разумеется, это обеспечивает хлеб будущим поколениям переделывательщиков скриптов с формата Longhorn 2005 на Longhorn 2010.
(Ответить) (Thread)
[User Picture]From: dimrub
2004-08-03 10:59 am
То, что ВАМ не нужны эти, как Вы выражаетесь, закидоны, не означает, что они не нужны больше никому. Еще скажите, что программе не может понадобиться больше 640 КБ памяти.
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: cmm
2004-08-03 01:39 pm
я таки очень рад за Микрософт.
не прошло и сорока лет, как до mainstream'а дошло, что отношение к объектам в машине не как к помеченным тремя флажками мешкам с байтами, а как к объектам — хорошая идея.
ну а что "современный" вариант read-eval-print-loop'а выглядит несколько трендовато — фиг с ним, право.
очень хорошо, что у них по крайней мере достало ума воздержаться хоть в чём-то от тупого копирования юникса.
(Ответить) (Thread)
[User Picture]From: darxeth
2004-08-03 04:07 pm
Не знаю, я всегда пишу более-менее простые вещи ввиде Perl oneliners:
perl -MFile::Find -we "find sub {qx!regsvr32 /s \"$File::Find::name\"! if /\.dll$/}, qq[E:/Microsoft Visual Studio .NET/Vc7] or (die qq[Error: $!] if $!)"

А сложные полным скриптом. Если в новом shell'е это не будет проблемой, то и дальше так буду.
(Ответить) (Thread)
From: tangodancer
2004-08-03 10:57 pm
J2EE forever,.Net sucks for lamers
(Ответить) (Thread)
[User Picture]From: dimrub
2004-08-04 01:13 am
Одно из двух: или Вы никогда не работали с .Net, или решили выпендриться. Думаю, что и то, и другое.
(Ответить) (Parent) (Thread)
From: tangodancer
2004-08-04 01:22 am
а я думаю молодой человек что я примерно в два раза больше вас работал и с J2EE и с дот нет.
Я думаю что когда вы еще на первом курсе писали макросы я уже занимался энтерпрайз серверами.
И позвольте дать вам совет-не стоит хамить если вы не знаете кто перед вами и кем он работает.
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: recoder
2004-08-04 12:11 am
Лучше бы они perl в дефолтную установку включили. Ну и модуль для интерфейса к .NET.
Всё, больше ничего не надо.
(Ответить) (Thread)
[User Picture]From: dimrub
2004-08-04 01:13 am
Проблема с лицензией, однако.
(Ответить) (Parent) (Thread)
From: tangodancer
2004-08-04 01:33 am
Не большая зарисовочка из жизни Дот Нет.Рафаель обьавил эту парашу своей стратегией на ближайшее время.
Класс.Поработали ,помудухались где то год-после чего три центральных отделения перешло на Джаву.
Мой друг,рош питуах в Рафаеле по этому поводу сказал:
-если уж трахатся то лучше с хером а не с вибратором.
Грубо,но верно!
(Ответить) (Thread)
[User Picture]From: dimrub
2004-08-04 01:58 am
С любой технологией можно натрахаться по самое немогу, если, во-первых, применять там, где не надо, во-вторых - применять неправильно. Впрочем, тогда они и с J2EE натрахаются аналогично.
(Ответить) (Parent) (Thread)
From: tangodancer
2004-08-04 02:04 am
с J2EE они врядли натрахаются так как это устойчивая доказавшая себя вещь.
а ДотНет это жалкая пародия на нее ,включающая в себя таких мутантов как J#.
да и С# тоже параша полнейшая.
Конечно для программистов чей низкий уровень был ограничен Майкрософтом и Комом-Дикомом С# просто как свет в окне.наконец то они осмелились вылезти из нор.
Но для серьезных людей ДотНет это детская игрушка.
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: yms
2004-08-14 05:20 am
и еще вдогонку: вот презентация, которая показывает архитектуру шелла и вообще многое проясняет.
(Ответить) (Thread)