Какое-то время назад я работал с Red Hat Linux. И вот после большого перерыва мне требуется снова вернутся в пингвиний мир, но столько воды утекло! Может соберем все вместе здесь эдакий FAQ для программиста C++, но чайника в Линуксах?
Поехали?
Общие вопросы.
1. В чем различие между основными популярными дистрибутивами Linux?
> Основная разница это система пакетов. (deb, rpm и т.д.) Также под какие архитектуры выпускается дистрибутив. (sl_bug)
> Основные отличия: Менеджер пакетов, набор ПО, настройки по умолчанию. (Evgeny_Shiryaev)
> (в дополнение к Evgeny_Shiryaev) еще иногда отличаются способом конфигурации сервисов, стартуемых при загрузке. Пример — /etc/conf.d/net в Gentoo и /etc/network/interfaces в Ubuntu. Также для каждого дистрибутива характерен свой способ задания списка стартуемых при загрузке сервисов. Иногда различаются способом организации самих конфигурационных файлов (один файл или кучка файлов и макрос, их собирающий). (xtreme)
> В пакетной системе, в инсталляторе, в системных скриптах. В версиях ПО и наборе ПО по умолчанию. (Arceny)
2. Почему следует предпочитать системы BSD перед системами Linux?
> Кто вам это сказал? Выбирать нужно по потребностям. (sl_bug)
> Лично я не вижу весомых преимуществ BSD-систем перед Linux-системами. (Evgeny_Shiryaev)
> Холиварный вопрос. Выбор системы зависит от поставленной задачи. Однако, в BSD более продуман сетевой стек и присутствуют такие полезные шняжки, как accf_http и accf_data. В Линукс я пока не видел замены кроме TCP_DEFER, которая работает несколько иначе. (xtreme)
3. Существуют ли полностью бесплатные дистрибутивы Linux?
> Да (sl_bug)
> Да, причем их большинство. (Evgeny_Shiryaev)
> Я бы сказал, что бесплатно-доступных дистрибутивов — абсолютное большинство. (xtreme)
> Да, большенство. Debian или Ubuntu. Или Fedora. Или Gentoo. (Arceny)
4. Почему вообще дистрибутив Linux является платным, ведь он построен на базе open-source программного обеспечения и бесплатного ядра Linux?
> Обычно платной является поддержка а не дистрибутив (sl_bug)
> Плата идет не за сам дистрибутив, а за поддержку его (обновления, техсаппорт, и т.д.). (Evgeny_Shiryaev)
> Весьма существенный момент для разработчика:
В платном дистрибутиве SUSE SLES без подписки недоступны также и пакеты с исходными кодами (src.rpm = мэйнстрим исходники + дистрибутивные апдейты, патчи, спеки, конфиги).
Пересобрать пакет можно только из исходного (мэйнстрим) tar.gz (в лучшем случае — из src.rpm opensuse, с перерисовыванием зависимостей и прочими прелестями).
При этом, естественно, рушится вся система апдейтов.
И, возможно, совместимость с остальными пакетами системы,
в том числе с темже самым пакетом, поставленным из бинарников.
Скорее всего, аналогичная ситуация с RedHat и другими платными дистрибами. (qmax)
> (опять же в дополнение к Evgeny_Shiryaev) Тут надо помнить, что «открытые исходные тексты» и «бесплатно» — это все-таки разные понятия. Обычно OpenSource-лицензии не запрещают продавать продукты, выпущенные под ними или с их использованием. (xtreme)
> Техподдержка, коробка, полиграфия… Либо включенные проприентарные компоненты, удалив которые получим полностью лицензионно чистую версию. (Arceny)
> Вы имеете возможность платить за поддержку. Если хотите RHEL без поддержки — используйте CentOS. В остальном — есть Ubuntu (которая бесплатна, но появилась возможность поддержки), OpenSUSE, Fedora (здесь вообще только бесплатный вариант)). (kost_bebix)
5. Если мне требуется установить много машин с Linux есть ли лицензия, которая позволит мне один раз купить дистрибутив и ставить его на сколько угодно машин? Или опять-таки есть ли полностью бесплатный Linux?
> GNU/GPL (sl_bug)
> Да. (Evgeny_Shiryaev)
> Можно даже не купить, а свободно скачать и поставить на любое количество машин. Но если Вы заинтересованы в поддержке, то тогда, действительно, лучше купить. (xtreme)
> По условиям лицензий Debian и Ubuntu — вы можете ставить их на неограниченное количество PC. Но в России вам придётся купить коробочную версию. По идее — достаточно одной коробки на одну компанию. (inkvizitor68sl)
> Да все они (из популярных): Fedora, Ubuntu, Linux Mint, OpenSUSE, Mandriva, CentOS, Debian, Slackware, Arch, Gentoo являются бесплатными. (kost_bebix)
6. Есть ли достойные дистрибутивы «от отечественного производителя»?
> ALT Linux возможно (sl_bug)
> На этот вопрос нельзя ответить объективно. Лично на мой взгляд нет. Однако если будете смотреть на «наши» дистрибутивы, смотрите на ALT Linux. (Evgeny_Shiryaev)
> есть. InfraLinux например. Но в большинстве случаев они платные. (именно достойный) (inkvizitor68sl)
7. Являются ли дистрибутивы Линукс совместимыми на уровне бинарных исполняемых файлов? Можно ли взять файл из Ubuntu и запустить его на Fedora, на FreeBSD?
> можно из Ubuntu 32bit на Fedora 32bit (sl_bug)
> Дистрибутивы Linux да. На FreeBSD можно запустить бинарники Linux, однако не напрямую. (Evgeny_Shiryaev)
> Обычно — да. Трудности возникают, когда бинарник использует некоторые подключаемые библиотеки, а исходная система (от которой бинарник) и целевая (где запускается бинарник) имеют разные версии данных библиотек, в которых разные функции могут, к примеру, называться по-разному, либо вообще отсутствовать. Но, статически собранные бинарники вполне себе переносимы. Примеры — Opera, Adobe-Flash-плагин для браузеров, Skype и т.д.
В FreeBSD же совместимость с линуксовыми бинарниками достигается за счет эмуляции для них линуксового окружения, для чего, как я помню, используются обычные линуксовые библиотеки от Fedora, плюс спец-модуль в ядре, позволяющий это дело. (xtreme)
> Линукс — да, если есть нужные shared-libraries. Бинарная совместимость Linux >> BSD существует. Но тупо взять пакет и запустить в большенстве случаев не получится, подробностей не знаю. (Arceny)
> большинство бинарников запустятся в любом дистрибутиве. Некоторые программы распространяются именно в таком виде (firefox с сайта например). Или basket. (inkvizitor68sl)
> Редко. Смотря какой файл. Есть утилита Alien, которая из .deb-пакетов делает .rpm, но это костыль. Если пишешь на C++ — почитай про «Opensuse Build Service» — это типа место, где ты свой проект будешь удобно собирать сразу под все системы какие необходимо. (kost_bebix)
8. Каким образом при написании C++ программ обеспечить максимальную совместимость между Линукс-дистрибутивами на уровне исходных кодов? Какие библиотеки следует использовать?
> Широко распространённые, например Qt. OpenSource. Включенные в основные репозитории. (Arceny)
> Qt (GooRoo)
> Практически любые, но я лично тепло отношусь к Qt, которая есть и в Виндоус и МакОС. А так — гугл всегда найдет что-то абстрактное от дистрибутива для каждой конкретной задачи. (kost_bebix)
> Ах да. И, собственно, о главном — об отличии написания под виндоус. Все просто — под виндоус ты писал программу, которая использовала некоторые библиотеки — ты эти библиотеки пихал прямо в сборку программы и собирал один большой кусок. В линуксе же принято иначе, — ты пишешь программу, а затем создаешь .deb/.rpm, где описываются библиотеки и их версии.
Профит:
— в линуксе если у меня уже установлена эта библиотека — не нужно ничего качать
— если в библиотеках находятся уязвимости — они обновляются и все, кто их использовал защищены
Проблемы:
— если дистрибутив решит использовать новую версию (ветку) библиотеки — все может сломаться. Поэтому надо пилить (если нужна максимальная кросс-дистрибутивность) (kost_bebix)
9. Допустим требуется какое-то нестандартное решение, например, какой-то специальный вызов ядра. Каким образом можно узнать, что данная система поддерживает этот вызов?
> Экспериментальным путём или спросив в списках рассылки, форумах, у разрабов, _почитав документацию_. (Arceny)
> Если есть ядро — значит есть и функция. Дальше надо смотреть на конкретику. (kost_bebix)
10. Есть ли хорошие альтернативы gcc для разработчика на C++? Всегда ли gcc входит в состав дистрибутива?
> 10. icc, всегда (sl_bug)
> Нет, не всегда. Свободных альтернатив не знаю. (Arceny)
11. Какие IDE и под какими оконными менеджерами (или как это называется?) вы используете для программирования на C++? Какой отладчик?
> vim, gdb (sl_bug)
> IDE — Eclipse вроде бы популярен (со слов друга-программиста на C++ и Java, на истину в последней инстанции не претендует); отладчик — gdb. (xtreme)
> gdb — отладчик. к нему много разных обёрток.
Например для программирования с использованием GUI тулкита Qt использую QtCreator.
А вообще разных IDE много. Google. (Arceny)
> Если человек задаёт к вопросу об IDE отдельно вопрос про отладчик, он вряд ли получит что-либо кроме vim+gdb. Под IDE обычно подразумевают среду, в которой уже настроены трассировки с помощью горячих клавиш, просмотр отладочной информации и пр. В этом случае я бы порекомендовал Qt Creator, KDevelop, Code::Blocks, Eclipse или NetBeans. (Lockal)
> В Eclipse не очень удобно делать отладку, да и подтормаживает. NetBeans тормозит. KDevelop — фигня. Qt Creator более-менее (юзать можно).
Достойной Linux-альтернативы VS нет :( Особенно что касается удобства отладки. (GooRoo)
> KDE4.3.1 + QtCreator — хорошее решение. Я использую Emacs, на C++ пишу нечасто. (kost_bebix)
12. Какие еще инструменты для C++ используются. Слышал про valgrind как хороший memory-leak детектор.
> ИДЕ — KDevelop, Eclipse, есть отладчик gdb. Дальше надо тоже конкретно смотреть «что надо». (kost_bebix)
13. Какая русская кодировка используется в Линукс системах «по умолчанию»? Поддерживает ли ядро Линукс UNICODE? На каком уровне?
> utf-8 (sl_bug)
> UTF-8 сегодня — это умолчальная. Сделать умолчальной практически без труда можно любую кодировку, хоть CP866. (xtreme)
14. Какое наиболее доступное решение, чтобы запустить Linux на машине с Windows? Как насчет portable Ubuntu? Кто-нибудь пользуется, можно ли вести полноценную разработку?
> vmware? (sl_bug)
> Самое лучшее решение — запустить Linux внутри виртуальной машины. Я рекомендую для этого использовать VirtualBox.
> Вам уже посоветовали VMWare и VirtualBox. Последний бесплатен (xtreme)
> LiveCD ) а вообще — virtualbox. Wubi\portable Ubuntu portable — не лучший вариант. (inkvizitor68sl)
> Что значит запустить Линукс? Самое простое решение — удалить Виндоус и установить Убунту (kost_bebix)
:-)
Вопросы пользователям-программистам C++.
a1. Каким дистрибутивом лично Вы пользуетесь и почему выбрали именно его?
> Debian, привычка. Очень давное начал им пользоваться и менять не хочется. Пробовал gentoo (прикольно, но все из исходников это долго), centos/fedora (не люблю rpm) (sl_bug)
> Ubuntu. Меньше всего проблем с настройкой дистрибутива, хороший менеджер пакетов, часто обновляется. Еще неплохи (для пользователя) Fedora, OpenSUSE и большинство производных Ubuntu. (Evgeny_Shiryaev)
> Debian, Ubuntu. Последний работает из коробки почти со всем железом, первый — просто хороший неперегруженный дистрибутив, который я ставлю на сервера и на котором развёртываю только необходимый набор пакетов. (Arceny)
> Mandriva Linux. Так сложилось исторически :) Некоторые считают его дистрибутивом для домохозяек, и в чем-то они правы :) (GooRoo)
> Убунту. Просто из-за популярности все разрабатывается (и так и должно быть) и пилится в первую очередь под него. (kost_bebix)
a2. С помощью каких инструментов ведет разработку (если ведете)?
> vim, gcc, gdb (sl_bug)
> Qt + Qt Creator, ибо лучше ничего нет, а до vim c emacs еще не дорос. (GooRoo)
> Наверное вел бы с помощью QtCreator, если бы не подсел на Емакс. (kost_bebix)
a3. Что устраивает и что не устраивает в вашем Линуксе как программиста С++?
> Не нравится: модель межпроцедурной оптимизации в gcc (не ускоряет), стандартные оптимизации -O2 (приходится свои дописывать, либо -O3), каскадные сообщения об ошибках в boost и подобных библиотеках. (Lockal)
> Linux — лучшая операционная система в которой я работал, но для разработки на С++ по сравнению с виндой совсем непригодна. Хотя при желании… ;) (GooRoo)
Если нетрудно — перед ответом ставьте номер вопроса, на который отвечаете. И не холиварьте чрезмерно (я знаю что хочу невозможного :).
Поехали?
Общие вопросы.
1. В чем различие между основными популярными дистрибутивами Linux?
> Основная разница это система пакетов. (deb, rpm и т.д.) Также под какие архитектуры выпускается дистрибутив. (sl_bug)
> Основные отличия: Менеджер пакетов, набор ПО, настройки по умолчанию. (Evgeny_Shiryaev)
> (в дополнение к Evgeny_Shiryaev) еще иногда отличаются способом конфигурации сервисов, стартуемых при загрузке. Пример — /etc/conf.d/net в Gentoo и /etc/network/interfaces в Ubuntu. Также для каждого дистрибутива характерен свой способ задания списка стартуемых при загрузке сервисов. Иногда различаются способом организации самих конфигурационных файлов (один файл или кучка файлов и макрос, их собирающий). (xtreme)
> В пакетной системе, в инсталляторе, в системных скриптах. В версиях ПО и наборе ПО по умолчанию. (Arceny)
2. Почему следует предпочитать системы BSD перед системами Linux?
> Кто вам это сказал? Выбирать нужно по потребностям. (sl_bug)
> Лично я не вижу весомых преимуществ BSD-систем перед Linux-системами. (Evgeny_Shiryaev)
> Холиварный вопрос. Выбор системы зависит от поставленной задачи. Однако, в BSD более продуман сетевой стек и присутствуют такие полезные шняжки, как accf_http и accf_data. В Линукс я пока не видел замены кроме TCP_DEFER, которая работает несколько иначе. (xtreme)
3. Существуют ли полностью бесплатные дистрибутивы Linux?
> Да (sl_bug)
> Да, причем их большинство. (Evgeny_Shiryaev)
> Я бы сказал, что бесплатно-доступных дистрибутивов — абсолютное большинство. (xtreme)
> Да, большенство. Debian или Ubuntu. Или Fedora. Или Gentoo. (Arceny)
4. Почему вообще дистрибутив Linux является платным, ведь он построен на базе open-source программного обеспечения и бесплатного ядра Linux?
> Обычно платной является поддержка а не дистрибутив (sl_bug)
> Плата идет не за сам дистрибутив, а за поддержку его (обновления, техсаппорт, и т.д.). (Evgeny_Shiryaev)
> Весьма существенный момент для разработчика:
В платном дистрибутиве SUSE SLES без подписки недоступны также и пакеты с исходными кодами (src.rpm = мэйнстрим исходники + дистрибутивные апдейты, патчи, спеки, конфиги).
Пересобрать пакет можно только из исходного (мэйнстрим) tar.gz (в лучшем случае — из src.rpm opensuse, с перерисовыванием зависимостей и прочими прелестями).
При этом, естественно, рушится вся система апдейтов.
И, возможно, совместимость с остальными пакетами системы,
в том числе с темже самым пакетом, поставленным из бинарников.
Скорее всего, аналогичная ситуация с RedHat и другими платными дистрибами. (qmax)
> (опять же в дополнение к Evgeny_Shiryaev) Тут надо помнить, что «открытые исходные тексты» и «бесплатно» — это все-таки разные понятия. Обычно OpenSource-лицензии не запрещают продавать продукты, выпущенные под ними или с их использованием. (xtreme)
> Техподдержка, коробка, полиграфия… Либо включенные проприентарные компоненты, удалив которые получим полностью лицензионно чистую версию. (Arceny)
> Вы имеете возможность платить за поддержку. Если хотите RHEL без поддержки — используйте CentOS. В остальном — есть Ubuntu (которая бесплатна, но появилась возможность поддержки), OpenSUSE, Fedora (здесь вообще только бесплатный вариант)). (kost_bebix)
5. Если мне требуется установить много машин с Linux есть ли лицензия, которая позволит мне один раз купить дистрибутив и ставить его на сколько угодно машин? Или опять-таки есть ли полностью бесплатный Linux?
> GNU/GPL (sl_bug)
> Да. (Evgeny_Shiryaev)
> Можно даже не купить, а свободно скачать и поставить на любое количество машин. Но если Вы заинтересованы в поддержке, то тогда, действительно, лучше купить. (xtreme)
> По условиям лицензий Debian и Ubuntu — вы можете ставить их на неограниченное количество PC. Но в России вам придётся купить коробочную версию. По идее — достаточно одной коробки на одну компанию. (inkvizitor68sl)
> Да все они (из популярных): Fedora, Ubuntu, Linux Mint, OpenSUSE, Mandriva, CentOS, Debian, Slackware, Arch, Gentoo являются бесплатными. (kost_bebix)
6. Есть ли достойные дистрибутивы «от отечественного производителя»?
> ALT Linux возможно (sl_bug)
> На этот вопрос нельзя ответить объективно. Лично на мой взгляд нет. Однако если будете смотреть на «наши» дистрибутивы, смотрите на ALT Linux. (Evgeny_Shiryaev)
> есть. InfraLinux например. Но в большинстве случаев они платные. (именно достойный) (inkvizitor68sl)
7. Являются ли дистрибутивы Линукс совместимыми на уровне бинарных исполняемых файлов? Можно ли взять файл из Ubuntu и запустить его на Fedora, на FreeBSD?
> можно из Ubuntu 32bit на Fedora 32bit (sl_bug)
> Дистрибутивы Linux да. На FreeBSD можно запустить бинарники Linux, однако не напрямую. (Evgeny_Shiryaev)
> Обычно — да. Трудности возникают, когда бинарник использует некоторые подключаемые библиотеки, а исходная система (от которой бинарник) и целевая (где запускается бинарник) имеют разные версии данных библиотек, в которых разные функции могут, к примеру, называться по-разному, либо вообще отсутствовать. Но, статически собранные бинарники вполне себе переносимы. Примеры — Opera, Adobe-Flash-плагин для браузеров, Skype и т.д.
В FreeBSD же совместимость с линуксовыми бинарниками достигается за счет эмуляции для них линуксового окружения, для чего, как я помню, используются обычные линуксовые библиотеки от Fedora, плюс спец-модуль в ядре, позволяющий это дело. (xtreme)
> Линукс — да, если есть нужные shared-libraries. Бинарная совместимость Linux >> BSD существует. Но тупо взять пакет и запустить в большенстве случаев не получится, подробностей не знаю. (Arceny)
> большинство бинарников запустятся в любом дистрибутиве. Некоторые программы распространяются именно в таком виде (firefox с сайта например). Или basket. (inkvizitor68sl)
> Редко. Смотря какой файл. Есть утилита Alien, которая из .deb-пакетов делает .rpm, но это костыль. Если пишешь на C++ — почитай про «Opensuse Build Service» — это типа место, где ты свой проект будешь удобно собирать сразу под все системы какие необходимо. (kost_bebix)
8. Каким образом при написании C++ программ обеспечить максимальную совместимость между Линукс-дистрибутивами на уровне исходных кодов? Какие библиотеки следует использовать?
> Широко распространённые, например Qt. OpenSource. Включенные в основные репозитории. (Arceny)
> Qt (GooRoo)
> Практически любые, но я лично тепло отношусь к Qt, которая есть и в Виндоус и МакОС. А так — гугл всегда найдет что-то абстрактное от дистрибутива для каждой конкретной задачи. (kost_bebix)
> Ах да. И, собственно, о главном — об отличии написания под виндоус. Все просто — под виндоус ты писал программу, которая использовала некоторые библиотеки — ты эти библиотеки пихал прямо в сборку программы и собирал один большой кусок. В линуксе же принято иначе, — ты пишешь программу, а затем создаешь .deb/.rpm, где описываются библиотеки и их версии.
Профит:
— в линуксе если у меня уже установлена эта библиотека — не нужно ничего качать
— если в библиотеках находятся уязвимости — они обновляются и все, кто их использовал защищены
Проблемы:
— если дистрибутив решит использовать новую версию (ветку) библиотеки — все может сломаться. Поэтому надо пилить (если нужна максимальная кросс-дистрибутивность) (kost_bebix)
9. Допустим требуется какое-то нестандартное решение, например, какой-то специальный вызов ядра. Каким образом можно узнать, что данная система поддерживает этот вызов?
> Экспериментальным путём или спросив в списках рассылки, форумах, у разрабов, _почитав документацию_. (Arceny)
> Если есть ядро — значит есть и функция. Дальше надо смотреть на конкретику. (kost_bebix)
10. Есть ли хорошие альтернативы gcc для разработчика на C++? Всегда ли gcc входит в состав дистрибутива?
> 10. icc, всегда (sl_bug)
> Нет, не всегда. Свободных альтернатив не знаю. (Arceny)
11. Какие IDE и под какими оконными менеджерами (или как это называется?) вы используете для программирования на C++? Какой отладчик?
> vim, gdb (sl_bug)
> IDE — Eclipse вроде бы популярен (со слов друга-программиста на C++ и Java, на истину в последней инстанции не претендует); отладчик — gdb. (xtreme)
> gdb — отладчик. к нему много разных обёрток.
Например для программирования с использованием GUI тулкита Qt использую QtCreator.
А вообще разных IDE много. Google. (Arceny)
> Если человек задаёт к вопросу об IDE отдельно вопрос про отладчик, он вряд ли получит что-либо кроме vim+gdb. Под IDE обычно подразумевают среду, в которой уже настроены трассировки с помощью горячих клавиш, просмотр отладочной информации и пр. В этом случае я бы порекомендовал Qt Creator, KDevelop, Code::Blocks, Eclipse или NetBeans. (Lockal)
> В Eclipse не очень удобно делать отладку, да и подтормаживает. NetBeans тормозит. KDevelop — фигня. Qt Creator более-менее (юзать можно).
Достойной Linux-альтернативы VS нет :( Особенно что касается удобства отладки. (GooRoo)
> KDE4.3.1 + QtCreator — хорошее решение. Я использую Emacs, на C++ пишу нечасто. (kost_bebix)
12. Какие еще инструменты для C++ используются. Слышал про valgrind как хороший memory-leak детектор.
> ИДЕ — KDevelop, Eclipse, есть отладчик gdb. Дальше надо тоже конкретно смотреть «что надо». (kost_bebix)
13. Какая русская кодировка используется в Линукс системах «по умолчанию»? Поддерживает ли ядро Линукс UNICODE? На каком уровне?
> utf-8 (sl_bug)
> UTF-8 сегодня — это умолчальная. Сделать умолчальной практически без труда можно любую кодировку, хоть CP866. (xtreme)
14. Какое наиболее доступное решение, чтобы запустить Linux на машине с Windows? Как насчет portable Ubuntu? Кто-нибудь пользуется, можно ли вести полноценную разработку?
> vmware? (sl_bug)
> Самое лучшее решение — запустить Linux внутри виртуальной машины. Я рекомендую для этого использовать VirtualBox.
> Вам уже посоветовали VMWare и VirtualBox. Последний бесплатен (xtreme)
> LiveCD ) а вообще — virtualbox. Wubi\portable Ubuntu portable — не лучший вариант. (inkvizitor68sl)
> Что значит запустить Линукс? Самое простое решение — удалить Виндоус и установить Убунту (kost_bebix)
:-)
Вопросы пользователям-программистам C++.
a1. Каким дистрибутивом лично Вы пользуетесь и почему выбрали именно его?
> Debian, привычка. Очень давное начал им пользоваться и менять не хочется. Пробовал gentoo (прикольно, но все из исходников это долго), centos/fedora (не люблю rpm) (sl_bug)
> Ubuntu. Меньше всего проблем с настройкой дистрибутива, хороший менеджер пакетов, часто обновляется. Еще неплохи (для пользователя) Fedora, OpenSUSE и большинство производных Ubuntu. (Evgeny_Shiryaev)
> Debian, Ubuntu. Последний работает из коробки почти со всем железом, первый — просто хороший неперегруженный дистрибутив, который я ставлю на сервера и на котором развёртываю только необходимый набор пакетов. (Arceny)
> Mandriva Linux. Так сложилось исторически :) Некоторые считают его дистрибутивом для домохозяек, и в чем-то они правы :) (GooRoo)
> Убунту. Просто из-за популярности все разрабатывается (и так и должно быть) и пилится в первую очередь под него. (kost_bebix)
a2. С помощью каких инструментов ведет разработку (если ведете)?
> vim, gcc, gdb (sl_bug)
> Qt + Qt Creator, ибо лучше ничего нет, а до vim c emacs еще не дорос. (GooRoo)
> Наверное вел бы с помощью QtCreator, если бы не подсел на Емакс. (kost_bebix)
a3. Что устраивает и что не устраивает в вашем Линуксе как программиста С++?
> Не нравится: модель межпроцедурной оптимизации в gcc (не ускоряет), стандартные оптимизации -O2 (приходится свои дописывать, либо -O3), каскадные сообщения об ошибках в boost и подобных библиотеках. (Lockal)
> Linux — лучшая операционная система в которой я работал, но для разработки на С++ по сравнению с виндой совсем непригодна. Хотя при желании… ;) (GooRoo)
Если нетрудно — перед ответом ставьте номер вопроса, на который отвечаете. И не холиварьте чрезмерно (я знаю что хочу невозможного :).