5 лучших Linux дистрибутивов для программиста
Поскольку дистрибутивы Linux имеют открытый исходный код, функциональны и содержат полезные инструменты, Linux предлагает процветающую среду для разработчиков. Linux поддерживает совместимость практически со всеми основными (и второстепенными) языками программирования, поэтому это идеальная платформа для начала программирования.
Вот некоторые из лучших дистрибутивов Linux для программистов.
1. Ubuntu
Как и Debian, Ubuntu использует диспетчер пакетов DEB, в то время как более поздние версии Ubuntu также включают пакеты Snap, поэтому установка нового программного обеспечения является простым процессом.
2. Pop!_OS
Это одна из лучших ОС Linux для программистов, благодаря расширенному использованию сочетаний клавиш, специализированному выбору программного обеспечения и включению специализированных репозиториев, таких как TensorFlow.
3. Debian
Debian является прародителем сотен дистрибутивов Linux, что означает, что он не только является знакомым дистрибутивом для программистов, но и имеет обширную поддержку.
Стабильный выпуск Debian обеспечивает хорошую производительность для производственной среды, в то время как его ветвь тестирования содержит самое современное программное обеспечение и пакеты.
4. elementary OS
Поскольку операционные системы Linux, включая Ubuntu, довольно удобны для пользователя, elementary OS выводит простоту использования на совершенно новый уровень.
Эта дружелюбная для новичков ОС Linux имеет понятный интерфейс с собственной средой рабочего стола в Pantheon, которая очень похожа на macOS. Из-за своей простоты elementary OS является хорошим выбором для программистов, плохо знакомых с пространством Linux, особенно если они приходят из среды Apple.
5. Arch Linux
Для легкой, но надежной ОС попробуйте Arch Linux. Это одна из лучших ОС Linux для разработчиков с гибкой и настраиваемой основой, которая дает пользователю полный контроль.
Это отличный выбор для программистов, которые хотят настроить свою установку Linux с самого начала.
Заключение
Linux дистрибутивы обеспечивают превосходную среду для программирования и разработки. Благодаря широкому выбору инструментов и поддержке языков программирования дистрибутивы Linux отлично подходят для разработчиков.
Новички могут захотеть установить Ubuntu или Debian, а опытные пользователи могут предпочесть Arch.
Если статья была для вас полезной, просим поставить лайк и подписаться на наш канал . Также посетите наш сайт и наш YouTube канал , чтобы увидеть больше подобного контента.
Изучите необходимый минимум Linux, чтобы быть продуктивным
Разные операционные системы длительное время обслуживают различные аудитории: Windows — бизнес-профессионалов, Mac — творческих, а Linux — разработчиков. Разработчикам ОС такой тип рыночного спектра сильно упростил концепцию продукта, технические требования, пользовательский опыт и направление рынка. Однако, он также ужесточил нормы рабочего пространства, что деформировало отдельных пользователей под узкие, непересекающиеся области: у бизнесменов нет возможности заглянуть в творческий процесс, а у разработчиков нет представления о проблемах бизнеса.
В реальности знания и опыт — динамичны, они охватывают несколько дисциплин и сфер деятельности. Представление о том, что «можно иметь способности только к чему-то одному» — это не руководство к овладению мастерством, а попытка справиться с преждевременной оптимизацией. Узнать о том, в чём вы хорошо разбираетесь можно только когда вы попробовали себя в нескольких разных вопросах. И может оказаться, что у вас есть способности ко многим видам деятельности.
Для современных бизнес-аналитиков особенно актуален вопрос ликвидации пробела между бизнесом и разработкой. Бизнес-аналитики должны быть двухплатформенными, способными использовать командную строку, доступную только на Linux (или в macOS), но при этом уметь извлекать широкие возможности из Microsoft Office в Windows. Очевидно, что мир Linux пугает тех, у кого образование в сфере бизнеса. К счастью, как и в большем количестве вопросов, вам необходимо изучить 20% информации, чтобы выполнить 80% работы. Вот мои 20%.
Почему современные бизнес-аналитики должны знать Linux
Благодаря своим open source корням, Linux выиграл от вкладов тысяч разработчиков за всё время его существования. Они построили программы и утилиты, чтобы упростить работу не только себе, но и тем программистам, которые последовали за ними. В результате open source разработка создала эффект сетевой выгоды: чем больше разработчики строили утилиты на оригинальной платформе, тем больше других разработчиков могло влиять на эти утилиты, чтобы писать собственные программы.
В результате получился огромный пакет программ и утилит (то есть софт), который был написан на Linux и под Linux. Большая часть его никогда не портировалась в Windows. Один из примеров — популярная система контроля версий (VCS), которая называется git. Разработчики могли написать софт под Windows, но они этого не сделали. Они написали его для работы в командной строке, для Linux, потому что Linux — экосистема, в которой уже были все необходимые инструменты.
Если вдаваться в подробности, разработка на Windows ведёт к двум основным проблемам:
Если собрать всё вместе, это выльется в трату времени на переписывание базовых инструментов, которые уже доступны в Linux, они позволят избежать ошибок совместимости с ОС. Тут нет никаких сюрпризов — экосистема Windows просто не была задумана и спроектирована под нужды разработки софта.
Теперь давайте рассмотрим базовые идеи Linux.
Фундаментальная единица Linux: «оболочка»
Shell (оболочка, также известная как терминал, консоль или командная строка) — это текстовый интерфейс пользователя, через который команды отправляются машине. На Linux, по-умолчанию, язык оболочки называется bash. В отличие от Windows-пользователей, которые в своём большинстве используют навигацию «навести-кликнуть» по окну, Linux-разработчики привязаны к клавиатуре и пишут команды в оболочке. Хоть этот переход далёк от естественного для тех, у кого нет бэкграунда в программировании, плюсы разработки в Linux сильно перевешивают изначальное вложение в обучение.
Изучаем несколько важных концептов
В сравнении с достаточно зрелым языком программирования, bash имеет всего несколько основных концептов, которые необходимо выучить. Как только вы охватите это, остаток bash — простое запоминание. Я переформулирую понятней: хорошо разбираться в bash значит запомнить 20-30 команд и их часто используемые аргументы.
Linux кажется непроницаемым для тех, кто не касается разработки, из-за способа, которым разработчики (не напрягаясь) извергают эзотерические команды терминала, когда им захочется. Правда в том, что они хорошо знают только несколько десятков команд — за всем более сложным они так же (как и все смертные) обращаются в Google.
Опуская мелкие загвоздки, стоящие на пути, вот главные концепты в bash.
Командный синтаксис
Команды соответствуют синтаксису:
Псевдонимы директорий
Полезная информация
У нас есть курс по операционным системам. Зарегистрированные пользователи могут пройти его бесплатно. Другие бесплатные курсы можно найти по ссылке.
STDIN / STDOUT
Всё, что вы пишите в окне и подтверждаете (с помощью ENTER), называется стандартным вводом (STDIN).
Всё, что программа выводит в ответе в терминал (например текст из файла), называется стандартным выводом (STDOUT)
Конвейер (piping)
Pipe принимает STDOUT от команды слева от pipe и превращает его в STDIN для команды справа от pipe.
Символ «больше» принимает STDOUT от команды слева и записывает/перезаписывает в новый файл справа
пример: ls > tmp.txt
Два символа «больше» принимают STDOUT от команды слева и добавляют к новому или существующему файлу справа.
пример: date >> tmp.txt
Шаблоны поиска (wildcards)
Завершение с помощью tab
Bash часто завершает команды сам, по определённой логике, если вы начинаете вводить команду и нажимаете TAB.
Однако, стоит попробовать что-то вроде zsh или fish для автозаполнения, потому что запоминать команды и все их параметры очень сложно. Более того, эти инструменты применят автозаполнение, основываясь на вашей истории используемых команд.
Выход
Иногда вы застреваете в какой-нибудь программе и не можете оттуда выйти. Это очень часто повторяющееся событие для новичков в Linux, которое невероятно демотивирует. Часто выход происходит с помощью чего-то, содержащего q. Хорошо бы запомнить то, что будет написано ниже и использовать, когда вы в ловушке.
Что я помню из команд bash
Это те команды, которые я использую чаще всего в Linux (начиная от самых часто используемых к самым редко используемым). Как я уже писал раньше, знание всего горстки команд поможет выполнять большой набор необходимых программируемых задач.
ssh
htop (или top ) диспетчер задач
wget загрузить веб-страницу или веб-ресурс
find вывести список всего содержимого директории и её дочерних директорий рекурсивно
Читайте также
Продвинутые и не часто используемые команды
Я считаю хорошей практикой хранить список команд, которые полезны в определённых ситуациях, даже если подобные ситуации случаются редко (например, какой процесс блокирует конкретный сетевой порт). Вот несколько нестандартных команд, которые у меня всегда под рукой:
ТОП-5 языков программирования для разработки приложений на Linux
Существует множество языков программирования, и время от времени появляются новые, но как будущий разработчик программного обеспечения для Linux, ориентированный на настольные приложения, нужно понимать, что нужно для создания надежных, эффективных, гибких, расширяемых, удобных и прежде всего безопасных приложений.
И одна из первых вещей, которые нужно знать, это понять соответствующий язык для разработки различных программ.
Ниже приведен список лучших языков программирования, которые можно использовать для разработки настольных приложений в Linux, этот список не основан на уровне важности, так как все языки здесь хороши, и они также кроссплатформенны, что означает вы можете заставить те же приложения работать на других операционных системах.
1. C / C ++
Как вы, возможно, уже знаете, Linux в основном работает на языке Cи с частями сборки. Поэтому вы можете использовать Cи и использовать GTK + кросс-платформенный инструментарий для приложений с графическим интерфейсом.
C++ считается лучшим выбором для разработки программного обеспечения из-за его высокой производительности, но, возможно, он не подходит для новичков из-за его высоких требований к точности в таких областях, как управление памятью. Он также широко используется для разработки программного обеспечения Windows.
Вы также можете использовать Qt, который является отличной кросс-платформенной средой разработки приложений, основанной на C ++.
Qt является как коммерческим, так и открытым исходным кодом и очень поможет вам в разработке настольных приложений в сочетании с C и C ++.
2. Java
Изначально Java была предназначена для запуска апплетов в веб-браузерах, но она всегда имела удивительные возможности для запуска настольных приложений с самого начала.
3. Python
Многие программисты обращаются к Python из-за его легкого для чтения синтаксиса и способности позволить программистам выражать концепции в несколько строк кода по сравнению с другими языками программирования. Ему легко учиться, и это хороший вариант для начинающих.
4. JavaScript (Electron)
JavaScript прост в изучении, и при использовании в сочетании с HTML и CSS вы можете создавать удивительные настольные приложения для Linux.
Это также хороший вариант для начинающих, намеревающихся разрабатывать настольные приложения для Linux и других операционных систем.
5. Shell
Заключение
Как всегда, у вас также есть свои собственные взгляды, поэтому любая критика, которая просвещает и помогает пользователям Linux, приветствуется. Если вы используете языки программирования и фреймворки, не добавленные в этот список, вы можете сообщить нам об этом и о любом другом мнении по данной теме, оставив комментарий внизу.
Если статья была для вас полезной, просим поставить лайк и подписаться на наш канал . Также посетите наш сайт , чтобы увидеть больше подобного контента.

