watashiwa_darede... писал(а): ↑19.12.2009 18:45
Я напишу замечательную мега-утилиту, которая умеет почти всё на свете, даже кофе варить, но она будет делать это не сама. Для архивирования — tar или cpio, для сжатия — gzip, bzip2, 7z, для сборки программ — configure, make, и др., для варки — coffee-machine какой-нибудь. И что, это будет Unix-way?
возможно. если она будет выполнять "
одну задачу". В вашем случае - СДЕЛАЙТЕ МНЕ ХОРОШО!
ИМХО я как раз такое часто и пишу - довольно сложный скрипт, который выполняет множество вещей, причём многие - самостоятельно, например sed-скриптом или shell-скриптом. Но это для НЕГО много задач, для МЕНЯ задача одна - например быстро свернуть систему, пока не пришла ЧК.
Конечно, если ваш скрипт (утилита) будет выполнять кучу действий ДЛЯ ВАС (как её пользователя) - это НЕ Unix-Way.
ИМХО.
watashiwa_darede... писал(а): ↑19.12.2009 18:45
У UNIX-Way есть ещё одно важное для меня преимущество: мне не нужно много разбираться в разных программах (обычный ужас бывшего виндоюзера перед сотнями утилит), дело в том, что они все ОДИНАКОВЫЕ.
Это не Unix-way, это достаточно общий принцип minimal surprise. Программы для MacOS X его также соблюдают.
ИМХО - недостаточно хорошо соблюдают.
да и вообще, причём тут маки? там тоже многое сделано как UNIX-Way.
watashiwa_darede... писал(а): ↑19.12.2009 18:45
Ну, некоторое количество общих принципов всё же соблюдается
ага. я уже писал про библиотеку выбора файлов. да только этого недостаточно.
watashiwa_darede... писал(а): ↑19.12.2009 18:45
главное меню сверху, меню «Файл», «Справка», стандартные диалоги, кнопка приложения в task bar или tray и т.п.
угу. помнится в MS Word я не мог найти
кнопку печать. при том, что там по дефолту отрубили хоткей CTRL+P. ЗАКОПАЛ-БЫ!!! (потом откопал-***-и обратно закопал. К счастью я этим УГ не пользуюсь уже много лет).
watashiwa_darede... писал(а): ↑19.12.2009 18:45
Точно также есть некоторое количество общих принципов, используемых утилитами unix — параметры в стиле GNU (заметьте, GNU, а не Unix)
нет. именно UNIX. в большинстве утилит GNU опции прилагаются как дополнение (cp, mv, tar, find, grep, sed...)
Заметьте: это фундаментальные утилиты - без них вообще нечего делать в *NIX.
watashiwa_darede... писал(а): ↑19.12.2009 18:45
Стандартные диалоги доступны всем и описаны в документации, так что изобретать собственный диалог открытия файлов, например, потребности нет в подавляющем большинстве случаев.
Ага. ОпИсаны. Я-бы грохнул писателей, которые пишут MSDN!. Вы это УГ читали? Фтопку!!!
Кроме того, это касается только очень немногих вещей (кроме упомянутого вами диалога есть ещё аналог xmessage, как там у них, вроде MessageBoxA, ну и в общем-то всё...). Остальное извольте писать сами.
watashiwa_darede... писал(а): ↑19.12.2009 18:45
Проблема совсем в другом — в пределе возможностей. Я сейчас уже не найду ссылок, но несколько лет назад мимо пробегал отчет преподавателя компьютерной грамотности (буржуйского какого-то). Он сравнивал две своих группы учеников (обе учились с полного нуля) — одну Windows, одну Linux. Не просто Linux с GNOME/KDE и пр., а командная строка сотоварищи. Поначалу группа Windows опережала группу Linux по возможностям, которые могли получить от компьютера, но довольно быстро Windows-группа уперлась в потолок, в то время как Linux-группа продолжала наращивать доступные ей возможности и вскоре Linux-группа далеко обскакала Windows-группу.
я не думаю, что это из-за UNIX-Way.
это ограниченность САМОЙ венды: в ней просто ничего не сделать выше некоторого порога. Ну так она проектировалась...