Преимущество использования Linux перед Windows?

Преимущество использования Linux перед Windows?

Я хочу больше узнать об использовании Linux, все мое программирование и разработка были сделаны под Windows. Но мне интересно, в чем основные преимущества использования Linux по сравнению с Windows? Что я могу делать в Linux, чего не могу делать в Windows?

решение1

Многие из следующих пунктов в равной степени применимы ко всем операционным системам POSIX и многим другим альтернативным ОС.

  • Мощный эмулятор терминала с конвейеризацией, перенаправлением и фоновыми процессами. bash, оболочка по умолчанию, — это язык программирования, который можно использовать для ежедневного управления системой. Он в несколько раз мощнее DOS, поэтому многие предпочитают использовать терминал и текстовый редактор вместо IDE.
  • Linux предлагает множество различных типов межпроцессного взаимодействия. Сокеты, разделяемая память, каналы, FIFO и т. д.
  • Модель fork-exec в Linux упрощает написание параллельных программ.
  • Стандартизированная структура файловой системы, которая, хотя и немного различается от дистрибутива к дистрибутиву, позволяет создавать автоматизированные сценарии установки.
  • Из-за вышесказанного: Менеджеры пакетов, которые автоматически устанавливают новые библиотеки и программы, а также их зависимости. В Windows вам придется вручную устанавливать большинство библиотекинастройте свой компилятор; в Linux вы вводите "apt-get install " или "yum install " или "emerge " (для Debian/Ubuntu, Fedora и Gentoo соответственно). Это также хороший способ распространения программного обеспечения, готового к массовому потреблению.
  • Бесплатные, постоянные обновления. Никогда не платите за обновление ОС.
  • Лучшее сообщество и знания сообщества. Программисты Linux знают больше о том, что делает их ОС, потому что вы можете A) прочитать ее исходный код, B) работать с ней гораздо ближе и C) найти больше справочных материалов о ее внутренней работе. Они также больше общаются через списки рассылки, форумы и веб-сайты, подобные этому. Программное обеспечение с открытым исходным кодом становится очевидным в Linux, мы любим делиться кодом.
  • Лучшая документация. Не знаете, как запустить определенную программу? Введите "man". Хотите узнать поведение функции C? "man" или иногда "man 3".
  • Настройка. Вы можете настроить все, включая ядро. Вы можете изменить графический интерфейс рабочего стола и даже попробовать тайловые оконные менеджеры. Большинство дистрибутивов позволяют выбирать между несколькими различными файловыми системами, включая ext4, XFS, JFS, Reiser и т. д. Это также способствует тому, что пользователи Linux узнают больше о своей ОС.

решение2

Я считаю, что самое большое преимущество в том, что вы НЕ привязаны к определенному поставщику. Если вам не нравится GNU C, вы можете использовать Clang, например. Если вам не нравится Apache, используйте lighttpd или Nginx или cherokee или ... Очень немногие части любого технологического стека не допускают альтернатив.

Обратная сторона отсутствия привязки к поставщику заключается в том, что стандарты, письменные стандарты, существуют практически для всего. Это большее преимущество, чем может себе представить любой, кто пришел из «мира фирменного ПО». Люди пишут документацию, используя письменные стандарты. Люди пишут код, соответствующий (по крайней мере, в основном) письменным стандартам. Никто не выдергивает ковер из-под вас, как это обычно делают крупные поставщики программного обеспечения *кхм*BEA*кхм*. Проекты, которые отказываются исправлять ошибки, в конечном итоге «разветвляются» и заменяются, поэтому стандарты фактически соблюдаются, а не предоставляются на словах *кхм*OOXML*кхм*.

решение3

Я всегда говорю своему другу, что Linux относится к разработчикам как к своим детям. Очень просто связать программу с библиотекой, у вас есть МНОГО отличных редакторов для использования (vi, emacs, Code::Blocks, Geany...), bash невероятно гибок (сначала вы не будете его часто использовать, но когда начнете, то заметите, насколько проще на нем делать некоторые вещи), и вы можете редактировать код практически всего, если захотите.

Но самое важное для меня — это менеджер пакетов (yum для fedora, apt для ubuntu, pacman для arch). Менеджер пакетов проверяет все зависимости каждого программного обеспечения и библиотеки, которые вы хотите установить, и устанавливает их вам. Он проверяет наличие обновлений для каждого из них. Он... в целом облегчает вам жизнь.

В Windows ничего подобного изначально нет.

Кроме того, Linux совместим с POSIX. Это означает, что должно быть проще создавать кроссплатформенное программное обеспечение для других ОС, совместимых с POSIX (например, FreeBSD, OpenBSD, OpenSolaris и даже Mac OS/X). Почти каждая библиотека Linux является стандартной (в Windows есть много суперспецифичных реализаций, которые работают только на ней, например, MFC или DirectX), поэтому не должно быть так уж сложно создать версию программного обеспечения для Windows.

Связанный контент