3 причины, почему Linux сделал меня лучшим разработчиком
Возможно, вы разработчик или просто любите Linux? Хотя Linux для каждого значит что-то разное, я пришел к уверенности, что свобода создания кастомной системы позволяет пользователям Linux развиваться. Я изложу три причины, почему Linux позволил мне развиваться.
3. Я могу построить систему с нуля
Я не был разработчиком, когда впервые начал использовать Linux много лет назад. Я увлекался Python и писал множество Bash-скриптов, но никогда не был разработчиком. Однако, после моего первого года на Ubuntu, из чистого любопытства (и эго), я перешел на Arch Linux. Arch научил меня управлять и собирать минималистичные системы. После многих установок я понял, что установка Arch не так уж и сложна — в основном, это связано с выбором базовых системных решений (таких как компоновка разделов) и выбором того, как вы хотите настроить свою графическую среду. Повторение этого процесса сделало меня как комфортным, так и знакомым с голой оболочкой Linux. В течение следующих года или двух я увлекался более сложными проектами, такими как Gentoo и сборка целевых систем Linux. Это было крайне практично и весело.
Оглядываясь назад, я получал необходимый практический опыт. В тот момент я не осознавал этого, но позже я стал создавать приложения внутри образов Docker, чтобы мог развертывать их где угодно с надежной последовательностью. Теперь, когда я изучаю Kubernetes, я очень благодарен, что потратил время на изучение Linux с самого начала. Это означает, что я могу развертывать приложения на любом языке и в любой среде — это сильно зависит от моего предыдущего практического опыта, и я не смог бы сделать это профессионально без Linux.
В последнее время я сравнил Linux с Windows в этом отношении, и стало ясно, что Windows не предоставляет такую же инкубаторскую среду — такую, в которой я свободен строить систему, кусок за куском, точно так, как мне нужно.
2. Бесконечный список утилит для поддержки
Сравнивать Linux с Windows все равно что сравнивать яблоки с апельсинами. Хотя оба являются операционными системами, техническая среда Linux на десятилетия опережает Windows. Linux начинался как техническая система с самого своего создания и сохраняет эту идентичность на протяжении всей своей жизни.
Для любой задачи существует утилита, которая может ее решить. Если ее нет в базовой системе, установить ее очень просто — еще одно дело, с которым Linux справляется исключительно хорошо.
Инструменты, такие как sed, awk, head, cat и grep, упрощают обработку текста. Инструменты сторонних производителей, такие как jq или yq, делают работу со сложными структурированными данными (такими как JSON и YAML) чрезвычайно простой. Конвейеры позволяют мне объединять команды без ограничений, в то время как Bash дает мне возможность объединять все это в многоразовом скрипте. Оболочка — со своими конфигурационными файлами, плагинами и другими возможностями — делает обработку данных и управление моими проектами легкими. Linux как швейцарский армейский нож для моего кода, и он сделал решение некоторых проблем в 10 раз легче.
У Windows, безусловно, есть свои преимущества, но введение подсистемы Windows для Linux только подтверждает мою точку зрения — стандартные утилиты Linux просто нельзя сравнить. Набор Sysinternals предлагает множество полезных инструментов, но он не в одной лиге. Я не откажусь от своей системы Linux так быстро, как когда-то отказался от Windows.
1. Всегда пишу сценарии, чтобы сделать свою среду лучше
Год или два спустя после того, как я перешел на Linux, я начал писать Bash-скрипты, а когда поступил в колледж, также освоил Python. С тех пор я написал достаточно много скриптов на Python и Bash, чтобы стереть клавиши на клавиатуре.
Среда Linux особенно хорошо подходит для скриптинга. В Windows всё — это иконки или меню; в Linux это Bash и команды.
Команды и скрипты делают Linux невероятно компонуемым, что позволяет решать любую проблему, и именно это я делаю. Будь то расширение менеджера окон i3 или управление виртуальными машинами, написание скриптов всегда является моим основным подходом. Среда, в которой я работаю, сродни среде разработки, что делает мои навыки более острыми, а опыт разработки более эффективным. В другом посте я объяснил, почему я люблю i3 и как он значительно улучшает мою эффективность рабочего процесса.
Где большинство людей воспринимают Linux как жесткую операционную систему, повседневный драйвер или даже игровую машину, я вижу Linux как набор инструментов — набор инструментов, который я могу настроить любым образом, чтобы удовлетворить свои потребности в разработке.
Свобода, которую предоставляет Linux, потрясающая. Не зря большинство разработчиков используют Linux — это практически единственная система во всей их вселенной. Это не преувеличение, и я затрагиваю некоторые причины в своем посте о том, как покинул Windows. Я не единственный, кто видит Linux таким образом; один из наших других авторов также использует Linux в качестве IDE, что является уникальным подходом к этому.


Добавить комментарий