Windows vs Linux - Как десктоп
, и игровая станция.
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.10] |
|
|
Правила раздела:
| Страницы: (1182) « Первая ... 1053 1054 [1055] 1056 1057 ... 1181 1182 ( Перейти к последнему сообщению ) |
Windows vs Linux - Как десктоп
, и игровая станция.
|
Сообщ.
#15811
,
|
|
|
|
Цитата linuxfan @ Звучит замечательно правильно, но только до тех пор, пока сам не столкнешься с необходимостью самостоятельно забабахать некую фичу. Цитата linuxfan @ Ты сам себе противоречишь. администратор не будет писать новые фичи, есму удобство подавай., однако скриптовать в основном приходится не разработчикам, а системным администраторам Цитата linuxfan @ Ага, ну предположим есть у меня некий утиль, который на вход дает параметры файла с изображением. Выдал он мне "2789 8876 5675" - вот что это, растолкуй-ка.Как правило растолковывают: на пайп будет выдано то же, что ты только что видел в консоли. Да шо ви говорите... Это те же программы, только не компилируемые. |
|
Сообщ.
#15812
,
|
|
|
|
Цитата Guderian @ Хороший вопрос. Рассказываю (слева убунта 8.04 - справа установка PS): 1. Захожу в Add/Remove Applications - пока он загружался, я уже на MS download center 2. Предложила мне обновиться, запросила пароль, ввел - на MS ввел в строку поиска powershell 3. Обновилась - я уже ткнул на Powershell 2.0 CTP 4. Ввел в поиск imagemagick (выставил all available applications) - запустил на открытие версию PS для x86, загружается 5. Ничего не нашел, пошел в терминал - PS открылся и устанавливается 6. Поковырялся apt-get'ом, нашел пустил на установку - PS установлен и работает 7. А он загружается... во-первых, 8.04 ещё не вышла во-вторых Add/Remove Applications не предлагает обновляться (по крайней мере в 7.10) пункт 6 вообще не понял. imagemagick норально ставится из "Менеджер пакетов Synaptic" зы: я, к примеру, вообще не знаю чья разработка этот PS, посему пришлось бы в вариант "справа" дописывать "залез в гугл" |
|
Сообщ.
#15813
,
|
|
|
|
Цитата negram @ Ну нечто под версией 8.04 уже можно качать во-первых, 8.04 ещё не вышла |
|
Сообщ.
#15814
,
|
|
|
|
Цитата $im @ Ну нечто под версией 8.04 уже можно качать Пишу из под нее. Kubuntu c KDE4. В целом, кубунта не очень впечатлила. Так себе. KDE4 еще таки сыроват. Хотя многие фишки понравились, особенно плазмоиды. Ниче так, гламурьненко. |
|
Сообщ.
#15815
,
|
|
|
|
|
Сообщ.
#15816
,
|
|
|
|
linuxfan
Цитата е все время было интересно: почему джаву нафиг, а .NET рулит? Неужели, если в следующую версию винды интегрируют, скажем, GNOME, все дружно начнут им пользоваться и те, кто сегодня орал "Гном -- аццтой" завтра будут орать "WinDwarf -- этот прорыв!"? Помоему и то и другое не рулит (я имею в виду ява и дотнет) Как скрипт - я это признать могу, но как ЯП - нет. |
|
Сообщ.
#15817
,
|
|
|
|
Цитата $im @ Ну нечто под версией 8.04 уже можно качать Цитата FullArcticFox @ Пишу из под нее. Kubuntu c KDE4. Ubuntu: Coming soon Kubuntu 8.04 Release Candidate пока ещё не вышла. |
|
Сообщ.
#15818
,
|
|
|
|
Цитата negram @ во-первых, 8.04 ещё не вышла во-вторых Add/Remove Applications не предлагает обновляться (по крайней мере в 7.10) пункт 6 вообще не понял. imagemagick норально ставится из "Менеджер пакетов Synaptic" забей. я удивился тому, что пунктом шестым не последовало Цитата ну тут, понятное дело седьмым пунктом случайно набранный rm -rf под рутом, полная переустановка, внезапное пропадание интернета, итого под виндой неделя как все работает, а под линухом еще новый винт не купили и штрафы за залитых соседей платим. счет 758,5 - 0.6. Поковырялся apt-get'ом, не нашел по причине неправильного набранного названия пакета всякое бывает. зы читаю маны по psh. эээ, как-то занятно. я какой язык должен знать, чтобы проще понимать? не, я серьезно, баш тоже вполне себе язык. только баш я знаю, в пределах необходимого мне, а тут пока ничего понять не могу. |
|
Сообщ.
#15819
,
|
|
|
|
Цитата zera @ Э.. руский? я какой язык должен знать, чтобы проще понимать? Кстати тоже хороший вопрос. Есть такой дистрибутив линукса, в котором все маны на русском языке искаропки? |
|
Сообщ.
#15820
,
|
|
|
|
Цитата MichSpar @ Есть такой дистрибутив линукса, в котором все маны на русском языке искаропки? ![]() А есть такая компиляция винды, в которой хелп написан не для слабоумных, забывающих вставить вилку в розетку? |
|
Сообщ.
#15821
,
|
|
|
|
Цитата linuxfan @ А есть такая компиляция винды, в которой хелп написан не для слабоумных, забывающих вставить вилку в розетку? ![]() есть собственно вот она |
|
Сообщ.
#15822
,
|
|
|
|
Цитата linuxfan @ А есть такая компиляция винды, в которой хелп написан не для слабоумных, забывающих вставить вилку в розетку? Значит нету. Я так и думал. Ну что засчитываем очередной слив линуху или продолжаем упираться как дети? Добавлено Постойте, дайте угадаю. Справка на родном языке ведёт к деградации домохозяйки, каждая уважающая себя домохозяйка должна в необходимой мере владеть английским языком и читать английские маны, как родные |
|
Сообщ.
#15823
,
|
|
|
|
я время от времени заглядываю в эту бесконечную тему...
господа, а откуда такое большое желание засчитать очередной слив винде или линуху? =) когда есть возможность выбирать... |
|
Сообщ.
#15824
,
|
|
|
|
Я не сомневался, что каждый линуксоид имеет в запасе как минимум десяток объяснений, почему ваш амперсанд лучше нашего ![]() Цитата linuxfan @ Вижу и чешу репу, размышляя, как же постигается тайная логика соединения объектных пайпов единственно возможным правильным образом. Да, тяжело тебе приходится Ну да я тебе упрощу задачу, объсню, что ты делал в баше ![]() 1. identify внутри разумеется оперирует объектами, но вернуть его не может ибо пайп убогий. Поэтому ему приходится сериализовывать это в строку, разделенную табуляцией (помнишь свой identify "%w\t%i\n"). Ибо именно такие строки переваривает awk и их разбирает, фактически десериализует. Если мы вдруг поставим в пайпе тулзу, которая хотя бы работает с другими разделителями, то капут пайпу. Делаем вывод номер один. Оперировать приходится с объектами, но вынужденно их (де)сериализовать. В отличие от повершелла, где передается объект, мы должны знать не только что было сериализовано, но еще и как оно было сериализовано, поскольку единого стандарта на эту тему нет. Регулирование формата тоже кто в лес, кто по дрова. В identify - строка форматирования, в ls - ворох опций вроде -l. Был бы нормальный пайп, выглядело бы как "identify | awk '{if(%w > 100) print %i}", что очевидно проще. 2. Далее сага про Width. Ты наверно упустил, но в противовес Width ты должен знать о "%w". Да только в силу объектности я всегда могу сделать "dir | import-bitmap | select *", чтобы оценить имеющиеся свойства. Тебе придется лезть в ман по identify. Хотя ты, разумеется скажешь, что "%w" просто кричит о том, что ширина, а видя "Width" человек даже не догадается, о чем идет речь 3. По сути, в реализации должно быть три этапа - получить список файлов, идентифицировать как картинки (включая ширину) и отфильтровать по условию. Но почему-то в твоем примере мы видим, как минимум, две лишних утилиты - xargs и awk. Является ли признаком удачного проектирования отдельный костыль по передаче аргументов и операция числового сравнения... приготовились? переданная для обработки в скриптоязык, предназначенный для обработки тестов. Бинго. Так что ты не мог постигнуть? Давай только на конкретных операциях, без воды. И что мне из полученного подставить в пайп, чтобы она подсчитала, например, SHA-512? Цитата linuxfan @ Не надо про программирование. Объекты и типизация в шелле сразу же наводит на мысли о ЯП. Про объекты я уже много сказал, теперь про типизацию. Расскажи уважаемой публике, что выдаст ![]() ![]() declare -i somevar somevar=sometext echo $somevar Забегая вперед скажу, что типизация есть, но какая-то недотипизация. Цитата linuxfan @ Вот только на основании проблем в работе identify конкретно взятой версии... Кхм, как-то очень уж поспешно делать такие выводы. Дай нам повод сделать другие выводы. Примеров было больше чем один. Найди другой способ без identity, как я например. Имхо, одна из примитивных задач. Люди еще под дос игры делали, а тут такое. Кстати в книге Microsoft Windows Shell Script Programming тоже помниться игра реализовывалась. SP1 Это сравнение числовых значений в awk - "своя работа"? Цитата rubicon @ и нацелена, в большинстве случаев, именно на пользователя. Значит, должна иметь понятный для пользователя вывод — строковый. Возможно я тебя удивлю, но вывод на экран всеми осуществляется в текстовом виде. Повершельные объекты не отправляются в космос. А вот сравнивать пользователю проще "Width -gt 100" а не передавать identify "%w\t\%i" в awk 'if($1 > 100...'. Цитата rubicon @ Да если бы это всё организовано было на должном уровне! Ассоциативные массивы (sic!) или словари (см. питон) — вот тогда можно было бы выводить именно какие-то структуры, массивы... ![]() ![]() PS> $dict = @{} # вот тебе словари PS> $dict.Key1 = "value1" PS> $dict.Key2 = "value2" PS> $dict.Key1, $dict.Key2, $dict.Length value1 value2 2 PS> $array = 1,2,3 # вот тебе массивы PS> $array, $array[2] 1 2 3 3 PS> $array | where {$_ -gt 2} # массивы и словари могут спокойно участвовать в пайпах 3 PS> Цитата rubicon @ Почему именно массивы: а что если мы не знаем, сколько и какие поля присутствуют в структуре? Вот взял еще один пример от вашего брата в этом же топике ![]() ![]() ~ # /sbin/fsck.ext3 -f -n РАЗДЕЛ 2>/dev/null | tail -1l | awk '{print $4}' | cut -c2- Расскажи мне, где я могу прочитать о том, что кроется в параметре $4? Если я заменю первую инструкцию в пайпе, будет ли возвращаться тот же параметр? Т.е. про "%w" и "%i" мы знаем. Когда пишем "... | awk '{print $4}'", то четверка к нам в мозг из астрала попадает. А вот сделать "select *" или как в варианте Hryak "sominstruction | gm" мы не можем? Объективность не жмет? ![]() Цитата linuxfan @ Шелл не забивает нам голову объектами, фильтрами объектов, декодерами, вкраплениями .NET'а, наконец. Он оперирует очевидными наблюдаемыми понятиями: поток ввода, поток вывода и аргументы командной строки, при этом предполагается, что у нас уже есть некие кирпичики, необходимые для решения поставленной задачи, а нам требуется лишь слепить их цементом. Расскажи мне, где в конструкции ниже хоть что-то из тобой упомянутого ![]() ![]() dir | where {$_.Length > 1Mb} | sort Length -descending | select Name -first 5 Что до остального, то по сравнению с твоим предложением использовать Си или тем же использование awk... Alan Kay, соавтор Smalltalk как-то сказал: "Простые вещи должны быть простыми, а сложные должны быть возможны". Это в точности про повершелл. Цитата linuxfan @ Вторая моя претензия к power shell -- это расширяемость. В текстовом шелле все понятно: парсим командную строку/stdin и пишем результаты в stdout -- что может быть проще? В power shell надо реализовывать определенные интерфейсы. Как ты думаешь, какие объекты дает "dir | select Name, Length"? PSCustomObject с двумя свойствами. Все предельно просто, а вам надо "парсить", передавать по индексам, рискуя тем что изменение порядка следования приведет к проблемам. В общем очень просто ![]() Цитата linuxfan @ Звучит замечательно правильно, но только до тех пор, пока сам не столкнешься с необходимостью самостоятельно забабахать некую фичу. Сравни, например, легкость, с которой добавляется еще один пунктик к user menu Far'а с добавлением еще одного пунктика к контекстному меню explorer'а. Конечно, в Far'е это не настолько гибко -- нельзя показывать этот пункт в зависимости от расширения файла (поправьте меня, если я ошибаюсь), но делается это настолько просто, что мы просто прощаем такие мелочи и с удовольствием используем. С не меньшим удовольствием мы используем интеграцию в оболочку таких программ как winrar, но при этом самостоятельно лезть добавляться в меню эксплорера не очень-то и хочется, ибо это значительно сложнее, чем вписать две строчки в текстовый файл. Причем здесь повершелл и сравнение добавления контекстного меню в файловом менеджере и декстопном менеджере? Тем более, что в эта задача спокойно путем добавления своей команды в реестр, без каких-либо наворотов, например: ![]() ![]() HKEY_CLASSES_ROOT\.myext\Shell\myitem (Default) = &My item command (Default) = C:\MyDir\MyProgram.exe "%1" Цитата negram @ во-первых, 8.04 ещё не вышла Я знал, что где-то в кустах сидит целая орава линуксоидов, которые только и ждут от меня мелких проколов, серьезный вопрос им не по плечу Да, я попался, у меня стоит не релиз. Естественно, что в релизе он ничего из перечисленного мной не будет.Цитата negram @ во-вторых Add/Remove Applications не предлагает обновляться (по крайней мере в 7.10) Склероз? После первой фразы отбило память, о какой версии шла речь? Цитата negram @ пункт 6 вообще не понял. imagemagick норально ставится из "Менеджер пакетов Synaptic" Конкретные действия пользователя, который только что поставил убунту плиз. Цитата negram @ зы: я, к примеру, вообще не знаю чья разработка этот PS, посему пришлось бы в вариант "справа" дописывать "залез в гугл" Ну если она стала дефолтным шеллом windows 2008, то догадайся. Цитата Cechmanek @ Помоему и то и другое не рулит (я имею в виду ява и дотнет) Как скрипт - я это признать могу, но как ЯП - нет. Такого языка как дотнет нет. Какой из языков дотнета ты не считаешь ЯП? C#? IronPython? Eiffel? F#? Может откроешь отдельный холивар на эту тему, там тебе популярно объясним, какими скриптами является ява и шарп. Цитата zera @ забей. я удивился тому, что пунктом шестым не последовало ну тут, понятное дело седьмым пунктом случайно набранный rm -rf под рутом, полная переустановка, внезапное пропадание интернета, итого под виндой неделя как все работает, а под линухом еще новый винт не купили и штрафы за залитых соседей платим. счет 758,5 - 0. всякое бывает. Жалкое вы племя. За вас фактически один linuxfan отдувается и вместо того, чтобы его поддержать по существу вопроса несете какой-то бред. Цитата zera @ зы читаю маны по psh. эээ, как-то занятно. я какой язык должен знать, чтобы проще понимать? не, я серьезно, баш тоже вполне себе язык. только баш я знаю, в пределах необходимого мне, а тут пока ничего понять не могу. Конкретный пример срипта на баше и что не сходится в повершелле. А то я этот свист постоянно слышу, но что-то пока не показали ни единого примера простоты баша и разительного отличия повершелла. |
|
Сообщ.
#15825
,
|
|
|
|
Цитата MichSpar @ Значит нету. Я так и думал. Ну что засчитываем очередной слив линуху или продолжаем упираться как дети?Ну какой-нибудь GNOME help или KDEшный help, написанный для тех же самых личностей, которые не в состоянии воткнуть девайс в розетку, переведен на многие языки, в т. ч. и на русский, а техдоки все на инглише. Вспоминаем, что MSDN'а русского по функциям WinAPI нету и вспоминаем, что некоторые man страницы переведеные и на русский. Делаем неизбежный вывод о паритете. Причины: 1. Обычному человеу девелоперская документация до фени. 2. Тем, кому это надо, английский язык не станет препятствием, ибо они его или уже знают, или выучат по необходимости. |