Linux или Windows?1
Вкратце: Linux - операционная система для программистов. Windows - операционная система для пользователей.
Все разговоры о том, что Linux это бесплатная альтернатива Windows, начались с того, что из Linux попытались сделать операционную систему для нищебродов. Торвальдс писал Linux как "Операционную систему, которую каждый может изменить по своему усмотрению". Пожалуй, то же самое можно сказать в первую очередь вообще обо всём OpenSource-софте. В самом термине OpenSource, как видите, акцент делается не на бесплатности, а на доступности исходного кода. И тру-программист всегда выберет инструмент, которому можно "залезть под капот", посмотреть, как там всё устроено, а может быть и что-то улучшить или адаптировать под свои нужды. Поэтому ответы "у меня всё работает" и "не нравится - перепиши" на сообщения о проблемах от пользователей, которые часто можно увидеть на Linux-форумах - это вполне нормальные ответы программиста программисту. Пользователи выпадают в осадок от таких ответов, они-то ожидают, что есть некое "сообщество", которое пытается сделать нормальный инструмент для пользователя, и вот сейчас-то ему, пользователю, сделают хорошо, чтобы было удобно пользоваться. Отсюда же вытекает формула "изящная концепция важнее удобства пользователя". Именно так, если мы хотим сделать инструмент, который каждый может менять по своему усмотрению, то в его устройство должны быть положены простые и ясные концепции. Отсюда же вытекает консольный интерфейс. На хрена программисту GUI? Ему возможность редактирования исходного кода подавай, а также скриптовый язык для для автоматизации вызова консольных утилит, а для этого графический интерфейс совсем не нужен (даже наоборот, как работу автоматизировать, распознавать изображения и программно щёлкать мышкой чтоли?).
Как в Windows сделать копирование видеотеки с перекодированием и сохранением структуры каталогов? А никак. Пользовательские перекодировщики с этим не справляются. Как в Linux сделать это же? Взять ffmpeg и написать bash-скрипт, сканирующий исходную директорию, воссоздающий её структуру и пофайлово перекодирующий файлы из исходной директории в директорию назначения. Или make-файл написать, всё-таки мы тру-программисты. Правда качество перекодирования у ffmpeg похуже, но можно ведь залезть под капот и переписать, если не нравится :)
Пользователь, сидящий на Linux, это, как правило, не профессионал. Если его, утрированно, устраивает Gimp вместо Photoshop или LibreOffice вместо MS Office, то как ещё его назвать? Судя по всему, этот пользователь не использует сколько-нибудь профессиональный софт. Программист, сидящий под Windows - это, как правило, не самый тру-программист. Конечно, если это не программист Microsoft, который разрабатывает Винду. Именно поэтому в Linux есть (и уже давно) Wine, который, по сути, воссоздаёт окружение Windows. Потому что на Linux сидит куча крутых системных программистов, которые могут поменять что-то по своему усмотрению, например, прикрутить к Linux кусок Винды. Да, Майкрософт с недавних пор тоже начал внедрять подсистему Linux в свою ОС, но насколько позже и насколько успешно? Используя Linux можно докопаться до самых основ работы операционной системы и загрузки ПК. Используя Windows сделать это намного сложнее (можно, конечно, что-то дизассемблировать, подебажить Винду и почитать Руссиновича, поковыряться в утекших в сеть исходниках XP, но реверс-инжиниринг штука очень энергозатратная, а для такой сложной системы, как Windows - неподъёмная).
Поэтому совершенно не стоит рассматривать Linux как "совершенно бесплатную операционную систему" для пользователя. За её "бесплатность" пользователю придётся заплатить в стократном размере своим временем (и нервами из за выслушивания ответов "у меня всё работает" и "не нравится - перепиши"). Нет, если Вы хотите серфить интернет, общаться в мессенджерах и смотреть фильмы/слушать музыку, то сойдёт. Для профессиональной деятельности - не сойдёт. А программист в процессе углубления в свою профессию, как мне кажется, рано или поздно прийдёт к Linux. Я, по крайней мере, пришёл. Через восемь лет кодинга под Виндой.
Панамка готова, не стесняйтесь :)