Разработка на коленке

"тут должна быть красивая цитата о программировании"

C++ IDE for Linux developer

2010-01-07 21:44

Ну раз уж так случилось, что я написал свой первый кроссплатформенный хелло ворлд, то пора задуматься и о выборе инструмента. Критерии выбора:

  1. Много места для рабочего пространства, т.е. всякие там тулбары, меню, заголовки табов и т.п. должны быть минимального размера и при необходимости их можно попрятать.
  2. Нормальная система горячих клавиш.
  3. Нормальная интеграция с компилятором (gcc/g++), чтобы подсвечивала все сообщения об ошибках в коде, удобная навигация по ним.
  4. Желательно, чтобы были шаблоны проектов для wxWidgets, или их можно было легко создать.

Итак, кандидатами стали:

  1. VIM.
  2. Eclipse+CDT.
  3. Netbeans, SunStudio.
  4. CodeBlocks.
  5. Codelite.
  6. KDevelop.
  7. Anjuta.

Помимо этого опробовал ещё несколько штук абсолютно сырых IDE, которые мне совсем не понравились. Посмотрел ещё в сторону Emacs, но так как я уже давно стал пользователем вима, то переходить во вражеский лагерь нет желания. А теперь, по порядку.

  1. VIM. К этому редактару я питаю слабость. Он мне очень импонирует своими режимами редактирования тескта, навигацией по тексту, полной настраиваемостью и минималистичностью. Плюсы: САМОЕ большое свободное пространство для кода, минималистичен, настраивается всё что хочешь, интеграция с компилятором есть. Минусы: это всё ж таки текстовый редактор, а не IDE. Из коробки нет дерева проектов, нет шаблонов для wxWidgets, мейкфалом нужно заниматься самому.
  2. Eclipse+CDT. Эту связку я использовал под виндовс, когда только начинал писать, используя wxWidgets. Для меня он привычен, так как я писал в нём ещё на Java, PHP, Perl, Python, после чего перешёл на Aptana (что тоже является эклипсом). Какое-то время программировал во FlexBuilder, а это тоже эклипс. Так что ничего привычнее для меня нет. Плюсы: много места для кода, развитая и привычная система горячих клавиш, плагинами расширяется до всемогущего комбайна. Минусы: кушает много памяти, нет заготовок для wxWidgets.
  3. Netbeans, SunStudio. Это, по сути, одно и тоже. Возможно, что SunStudio использует нетбинс — не проверял. Плюсы: красиво, душевно... Панели настраиваются, куча всяких профилировщиков, дерево проекта, шустрое автодополнение (но какое-то корявое, не всегда предлагает список на выбор). Плюсы для мигрирующих с виндовс: свои шрифты, очень похожие на стандартные VisualStudio и Windows. Минусы: слишком цветасто, мне в таком трудно работать, требователен к ресурсам (потому что Java), место для кода освободил потратив минут 10 на поиск нужной опции в настройках (убирал лишние тулбары и делал меньше иконки).
  4. CodeBlocks. Работал с ним ещё до Eclipse+CDT. Даже привык к этой среде разработки. Плюсы: шаблоны для wxWidgets, интеграция с формошлёпками для виджетов, много места для кода, мало ест ресурсов, минималистичен, с горячими клавишами тоже всё нормально. Минусы: код для wxWidgets-приложения генерится некрасивый, но это следствие интеграции с wxFormBuilder (вообще, тут по способу работы с ГУИ CodeBlocks очень похож на Borland C++Builder). Тут можно создавать пустой проект и добавлять свои классы, но тогда придётся как-то иначе использовать прелести формошлёпства.
  5. Codelite. Более равзитая, чем CodeBlocks. Интегрирован с системой контроля версий. С ней поработал мало, поэтому взгляд поверхностный. Плюсы: тоже, что и у CodeBlocks. В добавок эта IDE более развита, больше примочек. Минусы: пока не найдены, но наверняка есть.
  6. KDevelop. KDE-шное, с большими икноками. Ставил как-то и до этого, ещё когда на ноуте стоял Debian (сейчас Ubuntu). Не смог справиться с этой средой, чтобы хоть как-то проверить её. Поэтому решил, что она не для меня, во всяком случае пока.
  7. Anjuta. Минималистична, с большими икноками, до этого никогда не ставил. WxWidgets с ходу не подхватила. Плюсы: есть заготовка для wxWidgets, настраивается почти всё, в файлы добавляется текст с пояснением о лицензии (думаю, что это важно для opensource). Минусы: какое-то странное дерево проектов, может оно содержит что-то важное, но я не понял, зачем мне нужны там такие файлы, как README, AUTHORS, NEWS и т.п. наверно это свзязано с идеологией этой IDE, которая мне неизвестна.

ИТОГО: Для себя я выберу на ближайшее время следующее: VIM, Codelite, Netbeans.

  1. VIM мне нравится как текстовый редактор, я в нём довольно много работаю и уже привык его vimdiff, split и многому другому, что делает работу удобней. Я придерживаюсь мнения, что в Linux нет отдельных IDE, потому что Linux — это и есть IDE.
  2. Codelite мне понравился своей интеграцией с wxWidgets и кучей плагинов.
  3. Netbeans — профилировщиками, которые дают возможность оценить нагрузку на процессор, память, узнать количество нитей.
comments powered by Disqus