По прозбе liberatum делюсь своим, пока не очень большим, опитом:
* IDE не пользую (как то не лежит душа). Предпочитаю консоль да vim (emacs пробовал, но не мое).
* Как систему сборки я выбрал cmake. Эта система погибче make и попроще чем autotools (к томуже m4 меня тоже не очень вставляет: больно там все запутано).
* Компилятор gcc 4.2.3. Критику к gcc я встречал уже пару раз на просторах инета, но также можно сказать: it's not a bug, it's a feature.
* Из вспомогательных утилит могу назвать valgrind. Очень полезный инструмент для выявления не только memory leaks, но и трудновыявимых проблем обращения к памяти (например выход за пределы массива на один элемент при использовании указателей). Лучше всего ее сразу использовать, может сэкономить кучу времени и сил.
* gdb тоже стоит упомянуть, правда я пока им не очень активно пользовался. Имеется также gui: ddd, но я бы не сказал, что там все более понятно и интуитивно, чем в консольном варианте.
* Про систему контроля версий тоже не стоит забывать: subversion достаточно популярна и не плоха, к тому же имеются бесплатные хостинги для репозиториев, такие как google code. Мне правда git нравится больше: децентрализованное хранилище (в той папке, где работаешь), простое управление ветвями, создание патчей, создание архива с проектом.
Про IDE могу сказать, что хоть они и выглядят немного дружественней, но они за это также менее гибкие, а умение работать с vim может также пригодится при администрировании сервера. К тому же IDE более требовательны к системе (особенно это касается eclips).
Могу еще сказать, что если пишешь что то на с++, то при использовании библиотеки, написанной на c, лучше использовать родное c-api, т.к. обертки не идеальны :(.
Пишите комментарии, будет интересно узнать ваше мнение о моей статье и теме вообще.
Почти согласен со всем. :) IDE тоже никогда не использовал, NetBeans и Eclipse особого впечатления не произвели. mcedit в качестве простого редактора с подсветкой синтаксиса гораздо удобнее. Насчет cmake никогда не задумывался, make хватает вполне. Valgrind просто отличный инструмент, а Subversion стандарт de facto для любой разработки.
cmake это альтернатива autotools и пороще make. Например для небольшого проекта может вполне хватить двух строк:
ADD_EXECUTABLE(dbused main.c bus.c rule.c util.c match.c)
TARGET_LINK_LIBRARIES(dbused expat dbus-1 pthread)
Имеется так же поддержка разделение на релиз- и debug-сборки.