Pull to refresh

Mein Linux

Reading time5 min
Views63K

На Хабре в последнее время появилась серия холиварных статей:
Семь причин, почему Линукс
Главная причина, почему не Linux (от автора предыдущей статьи)
Главная причина, почему все-таки Linux


В этих статьях и комментариях к ним много говорили о коммунизме, цельности системы, свободе, юзабилити, домохозяйках, глюках… Да о чём угодно, но самое главное для меня если и упоминалось, то только вскользь.


Так что я решил написать свою статью, она будет совсем небольшой не очень большой, не пугайтесь.


1. Прошлое


Как я познакомился с Linux (1998 год)

Я работал "компьютерщиком" в одной загорской фирме. И потребовался на работе интернет. Я пошёл к провайдеру (divo.ru, до сих пор жив, однако), где меня встретил «юноша с горящими глазами». Обсудили тарифы, подключение (модем), он сказал мне, что лучше настраивать раздачу интернета с помощью Linux и вручил RH.


Некоторый опыт работы с интернетом/IP-сетями у меня на тот момент уже был. Консоль меня тоже не пугала, у меня (как и у всех в то время) был опыт работы с DOS, да ещё и опыт администрирования Novell Netware 3.x.


Так что да, я настроил (не без его помощи) роутер на Linux. И он работал.


С тех пор я в мире Linux, чем дальше — тем больше втянут. Не могу не сказать спасибо тому человеку. Увы, не могу сейчас вспомнить ни его лица, ни имени. Просто «сисадмин divo.ru из 98-го года».


Что меня втянуло? То, что операционная система познаваемая. И это не пустые слова. За эти 20 с лишним лет я много раз погружался в исходники ядра, glibc, всевозможных программ.
Я не припоминаю случая, когда всерьёз начал разбираться с какой-то проблемой и сдался, оказавшись неспособным «докопаться до корней». Это даёт ощущение того, что система не «чёрный ящик», что она проста, понятна и предсказуема. Это очень мотивирует.


Познаваемость основана на двух столпах.


Первый, конечно, открытость исходников.


Второй — простота и лаконичность основных концепций, лежащих в основе всего мира Unix.
Простой (я бы даже сказал примитивный, в хорошем смысле) язык C, модульность системы, тяга к текстовым конфигам, текстовым протоколам,…


Мне нравится выражение «гениальность — это способность сложные вещи делать просто», в этом смысле, конечно, «отцы» Unix были гениями.


2. Сравнение с «другим миром»


Скажу честно, столкнувшись с проблемой в Windows, я иногда ощущаю беспомощность. Я понимаю, что у меня практически нет шансов разобраться с тем, что происходит. Да, документация есть (и зачастую неплохая), но в нестандартной ситуации её обычно недостаточно. И тут я могу или нагуглить последовательность магических манипуляций, или сдаться.


Так что я очень понимаю тех людей, которые обосновывают свою нелюбовь к Linux тем, что им не нравится вбивать в консоль некие магические комбинации букв. Но дело в том, что для меня в Linux это не магические комбинации букв, а вполне понятные команды (а если непонятные — я обычно сначала разбираюсь что они означают, а потом применяю).


Прошу понять меня правильно, я не говорю, что Windows непознаваемая система. Все мы читали Руссиновича и знаем, что и тут можно добраться до кишок. Да и на Хабре были статьи, в которых с помощью отладчика и какой-то матери срывали покровы с деталей реализации.
Но будем честными: чтобы хорошо разбираться в Windows нужно быть гораздо более крутым специалистом.


3. Настоящее


Честно скажу, если взять меня двадцатилетнего и посадить за сегодняшний Linux, я бы, скорее всего, присоединился к потоку хейтеров "Linux — это сложно".


Сложность системы за это время выросла на порядки — миллионы LoC (да какие там миллионы, свежеустановленная десктопная система — порядка сотни миллионов LoС на добром десятке языков программирования), множество сложных подсистем, каждая из которых по сути свой мир со своей историей и идеологией: cups, systemd,… Да, графические конфигураторы и готовые рецепты из гугла позволяют быстро запустить это всё, но они только отдаляют от понимания того как оно всё работает. Если постепенно в течение 20 лет можно как-то было в это погрузиться (и то, многих областей я вообще не касался, тот же офис или браузер для меня чёрный ящик не хуже Windows), то новичка это обилие знаний, которые нужно иметь для того, чтобы «влиться», просто обескураживает. И действительно возникает вопрос «Зачем? Стоит ли овчинка выделки?».


У меня нет ответа на этот вопрос.


Но если вы всё-таки решили начать, то могу посоветовать «есть слона по частям»: взять какую-то небольшую область, досконально разобраться в ней, перейти к следующей.


Ну и читать книги, конечно.


BTW, я сам с интересом поглядываю на более академичные проекты вроде FreeBSD, для новичков же, вполне вероятно, это гораздо более правильный выбор.


4. 1.5%


Хочу остановиться на этом вопросе отдельно. Многие почему-то исходят из тезиса «больше пользователей — лучше».


Да, некоторое количество пользователей просто необходимо для жизни и развития любого ПО.


Если же мы говорим об операционной системе, то оно ещё и нужно и для того, чтобы производители оборудования обратили внимание на систему.


Однако нужно заметить, что в этом плане Linux давно победил: выпуск нового процессора, чипсета, сетевой карты, etc без поддержки Linux — это уже исключение, а не правило. Притом вполне обыденна ситуация, когда мы получаем от производителя не блобы или кривые исходники, прибитые гвоздями к древней версии ядра, а качественную поддержку в ванильном ядре.


Так что с недостатком пользователей сегодня проблем нет. Как заметил уважаемый freecoder_xx, пользователи важны не всякие. Попытки угодить условным домохозяйкам очень часто делают хуже. У него были свои аргументы, у меня свои: попытки сделать систему дружелюбнее добавляют очередные миллионы LoC, то есть делают систему для меня сложнее и непонятнее. И да, зачастую речь идёт о решениях с непродуманной архитектурой, поддержка всего этого превращает систему в очередной «чемодан без ручки» — и бросить жалко, и бежать неудобно.


Бородатый анекдот в тему

Стюардесса в салоне нового самолёта объявляет:
— Уважаемые пассажиры, экипаж рад приветствовать вас на борту нашего комфортабельного лайнера АирОинг 100500. На первой палубе нашего самолёта расположены сидячие места, на второй — бар, на третьей — поле для гольфа, на четвертой бассейн.
И добавляет:
— А теперь, пожалуйста, пристегнитесь. Сейчас со всей этой хернёй мы попробуем взлететь.


Пришествие же «молодых и зелёных» разработчиков мне тоже не всегда по душе. Они почему-то склонны выбирать «тяжёлые» решения, редко думают о простоте и изящности архитектуры. То есть опять речь идёт об усложнении системы, о новых миллионах LoC. Иногда, как говорил В. И. Ленин, «лучше меньше, да лучше».


Разумеется, я не хочу сказать, что нужно превращать сообщество разработчиков (и вообще linux-сообщество) в закрытую секту, приток «новой крови» необходим для жизни любого проекта.


И да, я рад новым пользователям, и иногда трачу свободное время на ответы новичкам. И вообще opensource-сообщество дружелюбно, я сам много раз получал помощь от авторов кода (и не только).


Просто я не вижу смысла уговаривать кого-то использовать Linux. Вы считаете, что Windows/macOS/etc лучше — так и отлично, пользуйтесь ими на здоровье. Я вам слова плохого не скажу. И не подумаю даже, честное слово. Более того, я сам считаю, что во многих случаях использование closedsource систем/решений вполне оправдано.


5. Будущее


Ясно, что Linux будет актуальным ещё много лет. И Windows тоже. Надеюсь, что в обозримом будущем появится «молодая шпана, что сотрёт нас с лица земли» — новые opensource решения, которые будут отличаться простой и красивой архитектурой. Поживём — увидим.


P. S. Комментарии опять скатились в политику, проблемы подключения второго монитора, удобство для домохозяек и «как нам обустроить Linux». Это всё интересно и важно, конечно, но статья была совсем не об этом.

Tags:
Hubs:
Total votes 106: ↑93 and ↓13+112
Comments751

Articles