Имея некоторый опыт работы и в той и в другой операционной системе, рискну высказать свое мнение. И Windows и Linux имеют свои преимущества и недостатки, что делает их в разной степени пригодными для использования разными пользователями.
Начну с того, что я не согласен с тем, что командная строка безнадежно устарела, а графический интерфейс безусловно удобнее. Конечно, если речь идет об одноруком пользователе с единственным пальце на единственной руке, то выбора у него особо нет - только возить мышкой. То же, по видимому, относится и к людям, физически здоровым, но не имеющим желания/возможности выучить, где какая кнопка на клавиатуре находится. Но надо заметить, что для человека, владеющего клавиатурой, хорошая командная строка в ряде случаев может быть более удобной, чем плохой графический интерфейс. Разумеется, для этого в командной строке должны быть такие функции как auto-complete, редактирование предыдущей команды и т.д., отсутствие которых в DOS привело ко всеобщему мнению, что командной строкой могут пользоваться только джигиты. Но говоря о графическом интерфейсе надо всегда помнить - действия в нем крайне трудно автоматизировать.
Когда я сажусь за компьютер с Linux, я зачастую попадаю именно в ситуацию, когда пользоваться графическим интерфейсом затруднительно. Например, на 19-дюймовом мониторе с большим разрешением (1280х1024) я не в состоянии разглядеть буквы, написанные шрифтом, хорошо читающемся при разрешении 800х600. Да, я знаю, что это можно исправить - для каждой программы в отдельности, а может даже и проще - но необходимость разбираться с этим ставит меня в тяжелое положение. Эффктивно пользоваться графическим интерфейсом можно только при выполнении некоторых условий, к которым я отношу:
- OLE
- drag and drop между приложениями, интегрированный с этим самым OLE
- общий буфер обмена, тоже интегрированный с OLE
- единое управление внешним видом приложений (в первую очередь - размером шрифтов)
и т.д.
Все это, если в Linux и имеется, то в явно недоделанном состоянии...
Когда я сажусь за компьютер с Windows, ситуация прямо противоположная - простые операции выполняются достаточно легко, но при появлении более сложной задачи (заменить в каком-нибудь документе слово "рисун" с любыми двумя-тремя буквами на конце на "рис.") - и я встаю в тупик. Да, чтобы это сделать в Linux, нужно было выучить, что такое регулярные выражения и перенаправление ввода-вывода, но как это сделать в Windows (кроме как руками) - я не знаю просто. Вероятно, что это не так сложно делается на Visual Basic, встроенный во что-нибудь? Но, поймите, краткое описание утилиты sed занимает 2 страницы, а Visual Basic'а - явно больше. Утилита sed имеет понятную мне логику работы - берет, правит, отдает, а Visual Basic, как я понимаю, потребует открывать какие-то файлы для чтения и записи, писать какой-нить цикл и т.д.
Теперь об администрировании. Я дейставительно не знаю, как поднять в Linux VPN, в то время как в Windows он поднимается несколькими щелчками мышки. Т.е. для простых традиционных действий и необученного админа Windows опять лучше. Но вот когда дело доходит до более серьезных вопросов - отсутствие в Windows простых способов автоматизации действий начинает сильно мешать. Например, запуск VPN внутри VPN у меня почему-то не заработал - обрывается внешний VPN. Я подозреваю, что проблема в правилах маршрутизации. Но если в Linux передо мной богатые средства отладки, можно внутренний VPN поднять, но маршрутизацию при этом не менятьи т.д., то в Windows их никто не разрабатывал - что делать я не знаю. Если в Linux по ppp есть подробный man, то вся документация Windows сводится к списку галочек, котрые я и сам вижу в окне настройки.
Выводы просты - плох и Windows и Linux. Те, кто использует компьютер стандартными способами, по-видимому, выберут Windows - в нем проще начать. Те, кто хотят продолжить - решать более необычные задачи, складывать свое решение из готовых кубиков - выберут Linux. А что выберут те, кто решает еще менее стандартные задачи - программисты - я не знаю.