Преимущества современных дистрибутивов Linux:
- не требует лицензионных отчислений (т.е. бесплатна, и сама, и почти все приложения);
- использует открытые стандарты;
- подходит как для гиков, так и для простых пользователей (по крайней мере, в последнее время это стало так для многих дистрибутивов, например, Ubuntu);
- никаких вирусов, троянов, блокировщиков, можно забыть об антивирусе;
- более функциональна, настраиваема, позволяет выбрать и перенастроить все или почти все;
- имеет огромные количество бесплатного программного обеспечения, которое не надо выискивать в интернете, искать кряки, взломщики, все это качать и ставить -- все доступно в едином менеджере программ;
- с помощью эмуляторов частично совместима и с приложениями, написанными для Windows;
- даже в стартовом комплекте есть почти все, что нужно начинающему пользвателю.
Недостатки:
- нет и не будет 100% совместимости с Windows (да, надо выбирать);
- немного непривычный стартовый интерфейс;
- нет прямых аналогов ряду крупных программных проектов под Windows (AutoCAD, PhotoShop);
- низкая популярность и почти мистический страх среди многих пользователей других ОС;
- иногда еще можно встретить "сырые" места, т.к. здесь все создают не крупные компании, а сообщества энтузиастов.
Linux прост, логичен, понятен, организован. В Linux нет ни одной типичной проблемы Windows: взломы, тормоза, вирусы, фрагментация, хайджакинг (не знаю как на русский перевести - перехват управления), малварь, и т д. и т. Всё просто - Windows - гарантированный геморрой, Linux просто работает.
Таких ситуаций нет. Все утилиты и программы существуют и в других операционных системах. Всегда есть аналоги. Более того, многие программы (утилиты) существуют в виде версий для разных операционных систем.
Но без Linux не обойтись, если нет денег для покупки Windows. Основные дистрибутивы популярных сборок можно скачать в сети, устанавливать на компьютер и использовать совершенно бесплатно.
По-моему на C. Возможно, какие-то низкоуровневые вещи на ассемблере. По крайней мере Торвальдс начинал именно с ассемблера. Модули и программы в основном пишутся на С++, С и др. С-образных языках, но программисты под линукс пишут на том, что знают, то есть программы и модули могут быть написаны на всех существующих языках ( java, perl, python, Delphi и пр.).
Оптимальный вариант - это тот, при котором вам удобно пользоваться.
Мне иногда бывает нужен линукс, но не так часто и не настолько, чтобы держать его второй системой. Виртуальная машина полностью покрывает все мои потребности.