Хочу поделиться рассказом по CLion.
Понадобилось написать и отладить код на C для Linux. Прочел обзоры на среды разработки, выбрал NetBeans 11 (самый свежий) - все работает и разработка и отладка, но с отладкой многопоточных приложений сложности - отладчик gdb прерывает сессию отладки если постоять в точке останова секунд 5-10. А с gdb на lldb перейти не смог. И я не смог интегрировать NetBeans с clang (вместо gcc) и lldb (вместо gdb), добавить эти инструменты смог, а интеграции с IDE нет и она не тестировалась согласно документации.
И перешел на CLion. Тут из коробки поддерживается сlang и lldb. Встроенный lldb 9.3 - не самая свежая версия, есть 10, но отлично работает.
Если во время отладки задержаться на 5+ секунд на одной строке, сессия отладки не разрывается.
Плюс есть профилирование кода с Flame-диаграммами.
Плюс есть поиск утечек памяти с valgrind просто нажатием одной кнопки и переходом в месту утечки.
И интеграция процесса отладки через make-файлы настраивается просто. До скачивания читал, что в CLion поддерживается только CMake, который сложный и другой, но в Makefile ничего править не пришлось.
В общем, очень доволен CLion, для нового человека в C инструмент хорош. Почему-то его нет в популярных обзорах инструментов разработки на C/C++. Стоящая вещь. И к IDEA я уже привык, к работе с ветками, c git, а в Clion все такое же привычное.
А почему не C++?
Удобнее писать, та же самостоятельная сборка мусора как в C
ООП повышающая читаемость кода, много классов с которыми проще жить
Вроде в c++ 11 многопоточность из коробки кросплатформенная, а не операционной системы имеется
У c++ тот же доступ к низкоуровневому api примерно та же производительность
Мне так видится, могу ошибаться, что при выборе C или C++, C++ всегда удобнее в использовании (на нем быстрее реализуются задачи)
Плюсы естественно субъективные для меня, не эксперт в этих языка
Если не секрет, почему не выбран другой язык, например java, python, c#, js?