Философия UNIX
2015-11-02 16:33:44

   В предыдущей статье мы выяснили, что современные винды чем дальше, тебя сильнее держат пользователя за дурака. Это прикрывается желанием уберечь неопытного пользователя от действий себе во вред или во вред системе.

   Однако, если поразбираться, такой подход несет много зла: все увеличивающийся темп связывания юзеру рук приводит к тому, что, в долгосрочной перспективе, юзверь перестает бояться своих действий, и, как следствие, когда не знает чего-то – не пытается разобраться, а тыкает наугад, чтоб посмотреть что будет, совсем не боясь что-то испортить, мол, система же умная – она не позволит сделать себе во вред. Это – раз. Я сам день ото дня наблюдаю, как очень умные люди, изнеженные этими вашими виндами, в любой непонятной ситуации начинают тыкать (якобы научно) все подряд. Позорное зрелище. Причем ожидание контроля от системы врастает людям в мозг настолько, что они этот подход начинают использовать и там, где это не только вредно, а просто опасно, например на серверных Linux-системах, тыкают для опыта, совершенно не заботясь о том, что там можно одной командой прибить все, и (я серьезно) система даже не переспросит. Второе – такая мнимая безнаказанность стимулирует невежество, вместо желания разобраться. Ибо, если будешь бояться тыкнуть не туда и будешь знать, что, в таком случае, будут последствия, — трижды подумаешь, прежде, чем «жать ОК». И, как следствие, если есть возможность, — сначала прочитаешь о том, что делаешь, разберешься в предмете. И третье, не такое маловажное, как может показаться, тот факт, что система держит тебя за дурака и не дает сделать что-либо, даже когда ты точно знаешь, что делаешь, — ПРОСТО БЕСИТ! Действительно, какого органа я должен постоянно терпеть то, что со мной обращаются как с тупым ребенком, только на основании того факта, что этой системе чаще приходится иметь дело с тупыми детьми, чем с личинками инженера?

   И многим (да что там – почти всем) кажется, что так оно и должно быть, что это неизбежное зло и что так оно было и будет всегда. Дак что же делать? – спросит читатель, который испытывает схожие (с моими) чувства, так и жить под гнетом дураков и дурацкого отношения? Нет! Не бывать этому! Выход есть – учиться! Когда это нашего брата пугало? Альтернатива есть и давайте уже поближе с ней знакомиться!

   Дамы и господа, вашему вниманию – ФИЛОСОФИЯ UNIX aka UNIX-way!

   Откуда эти наши Юниксы родом и как они там родились и развивались (и, что характерно, умерли) можно легко и просто почитать на википедиях. Я лишь обращу внимание, на некоторые, существенные для данного контекста (по моему скромному мнению, конечно) моменты.

   Самый первый момент, он же – определяющий: Юникс разрабатывался в стенах университетов и там же и использовался, то есть использовался исключительно специально обученными для этого инженерами. Никакие домохозяйки и прочие мастдайные тараканы никогда им не пользовались. Нетрудно догадаться, что система в обращении и рассчитана была на грамотного пользователя, а не на домохозяйку. Последствия этого чувствуются до сих пор: юниксвейные системы ждут грамотного обращения, зато не держат пользователя за дурака, что, вне всякого сомнения, приятно (если ты – не дурак, разумеется)

   Самый второй момент, вытекает из самого первого: компьютеры были большими и дорогими и использовались в университетах для исследований, использовались, ясное дело, не единолично, а, стало быть, общественно. То есть Юникс с самого начала своей жизни разрабатывался как многопользовательская система, с самого начала там практиковалось разделение прав доступа к ресурсам, разделение пользователей по уровням доступа и т.д. То есть многопользовательность и разграниченность прав у этой системы в крови, оно там простое и понятное и все программы умеют правильно с этим работать. Для сравнения в этих ваших виндах, какое-то подобие разделения прав доступа стало появляться только в NT-шках, однако разделение это там было кривое, и де факто не рабочее, поскольку почти никакой софт не умел корректно работать с урезанными правами. Как по мне – это костыльство в виндах по сей день не работает толком, особенно, если быть знакомым с тем, как это устроено в юникс-системах.

   Однако, отвлеклись. Третий момент, на который хочу обратить внимание – постулат, согласно которому каждая программа должна делать что-то одно, но делать это хорошо. Вот всем знакомая программа – WinRAR, хорошая (по меркам винды, хе-хе) без спору программа, но что это за программа? Да все ж знают – это архиватор! – скажет мне любой, кто не вчера родился. Так точно – архиватор, но приятными мелочами для пользователя является набор дополнительных плюшек, таких, как, например, возможность шифрования данных, отправки их по e-mail или восстановления поврежденных архивов. Архиватор он хороший (если не сказать — лучший), но что сказать о качестве исполнения его дополнительных функций? Вот шифровальщик в раре сколько алгоритмов шифрования поддерживает? А как там с управлением ключами шифрования? А вот отправлятель по e-mail’у он как? А списки рассылки умеет? А контроль получения? А разные кодировки писем? А вот восстановитель данных тоже самый лучший? Он, скажем, умеет восстанавливать данные с битых дисков, флешек, удаленные с диска собирать по крупицам умеет? НЕТ! Нихренашеньки его эти фичи не умеют, а если они такие убогие, то не лучше ли поручить выполнение этих действий специализированным программам, а рару оставить архивирование? В философии юникс так и делают. Но это ж надо запускать другие программы, а это — не удобно, у рара все в одном месте! – запросто может заявить мне читатель и будет прав: у винды нет внятных механизмов подруживания программ между собой, но ведь на свете не только винды бывают!

   Момент четвертый: текстовые интерфейсы и богатейший инструментарий скриптования. Поясняю, каждая (нет, прям КАЖДАЯ) программа имеет текстовый интерфейс. Это то самое что в виндах называется «интерфейсом командной строки», многие плавали – знают. Справедливости ради, нужно сказать, что и в виндах такое есть, но умеет это далеко (далеко-далеко) не каждая программа. А когда умеют не все – полезность этой фичи сильно скромнее, чем когда умеют все. Да и инструментарий по работе в консоли в Windows не идет ни в какое сравнение с таковым в UNIX-системах. Тут тебе и пайпы (возможность прямо на ходу дуржить одну программу с другой, без написания скриптов) тут тебе и море утилит для обработки потоков информации, тут тебе и возможность на ходу настраивать все программы (текстовые конфигурационные файлы) тут тебе и доступ к данным от системы и возможность прямо отсюда ей руководить (посредствам простого записывания единичек куда нужно) тут тебе и все-все-все. Единожды это вкусивший, не сможет потом смотреть на тихое ущербище bat-файлов на windows-системах, инфа 100%.

   В общем, надо закругляться, а о возможностях, которые я в двух словах описал в последнем пункте, нужно еще поговорить, я считаю.%

  • GuyFox 2015-12-10 11:46:44
    Тут тебе и пайпы (возможность прямо на ходу дуржить одну программу с другой, без написания скриптов) тут тебе и море утилит для обработки потоков информации, тут тебе и возможность на ходу настраивать все программы (текстовые конфигурационные файлы) тут тебе и доступ к данным от системы и возможность прямо отсюда ей руководить (посредствам простого записывания единичек куда нужно) тут тебе и все-все-все.

       Издалека видно хомяка, который о консольке узнал только из лялеха. В винде, вообще-то, всё это можно. Попробуй прогуглить и убедиться.

  • bo 2015-12-10 17:39:04
    который о консольке узнал только из лялеха

       Ну... подобием консольки я и под виндой пытался пользоваться задолго до первого знакомства с линуксами и бздями. А вот о Консольке (с большой буквы), эт да — я узнал только когда познакомился с линуксами.

       Ну, я пользовался bat-файлами, раром и даже arj, но вот попробуй в винде чисто из под консольки сделать так, чтоб система каждый час делала скриншот экрана и отправляла на определенный имейл, например.

       Глупо же утверждать, что в винде такая же продвинутая консолька, как в линуксах, да и не о том речь: речь была о философском принципе: каждая программа делает свое маленькое дело, а система их эффективно дружит между собой. Покажи где в винде пайпы? Где конвееры команд? Максимум — перенаправление потока в файл (даже не другой программе)

  • GuyFox 2017-06-24 20:29:37

       В виндовом Powershell отличный конвейер! По нему не текст, а сразу объекты гуляют. Скриншоты каждый час делать и отправлять на емейл - да тоже без проблем.

       cmd давно надо было забыть как страшный сон. "Keep calm and learn Powershell"

  • bo 2017-06-27 06:48:06
    >В виндовом Powershell отличный конвейер!

       Что только подтверждает нужность конвейера.

    >По нему не текст, а сразу объекты гуляют.

       Тут можно обсудить еще что лучше

    >Скриншоты каждый час делать и отправлять на емейл - да тоже без проблем.

       Таки, реализацию в студию! :)

    > cmd давно надо было забыть как страшный сон

       Забыли давно

Чтоб доказать что Вы не робот причините вред человеку или своим бездействием допустите, чтоб ему был причинен вред решите сложнейший пример:
3 + 5 =
Регистрация