LINUX.ORG.RU

Идеальное IDE для C и C++

 , ,


0

3

Ребят, возник такой вот вопрос.

Для GNU/Linux (и не только) есть огромное количество IDE-шек со своими плюшками, перделками и т.д. Но у каждой из них есть свои недостатки, проблемы, баги.

В итоге, что для вас является важным при выборе того или иного инструмента для программирования на C и C++?

В итоге, что для вас является важным при выборе того или иного инструмента для программирования на C и C++?

идиотский вопрос. VIM, от добра добра не ищут.

emulek ()

А пичиму ти срашиваешь?

pon4ik ★★★★★ ()

Удобство редактирования кода, интеграция в среду, настраиваемость под задачу.

d ★★★★ ()
Ответ на: комментарий от emulek

Не холивара для, а интереса ради, как мьсе осуществяет поиск использований символов и рефакторинг, на проектах начиная от 300к строчек?

Если последует какой то вменяемый способ, в стиле qtc или нетбинса там какого, то реквистирую vimrc.

pon4ik ★★★★★ ()
Ответ на: комментарий от pon4ik

Хотя до IDE, со всем уважением к виму, он в любом случае не дотягивает как ни крути. Даже с clewn'ами, и прочими приблудами которые на него можно понавешать.

По крайней мере пока что :)

pon4ik ★★★★★ ()

что для вас является важным при выборе того или иного инструмента для программирования на C и C++?

Он должен быть написан на C, С++, Java или Python.

i-rinat ★★★★★ ()
Ответ на: комментарий от kachsheev

Вы сразу же до VIM докатились.

я с BORLAND C катился, MSVS, kDevelop, потом вышло KDE4 с недоделанным kDev, пришлось vim изучать. Сначала было тяжело, потом втянулся.

что для вас является важным при выборе

конечно удобство работы. Что ещё? Ну да, скорость, проверка синтаксиса (с автодополнением не так не набрать, а с подсветкой в глаза бросается косяк, инденты отлавливают пропущенные точки с запятой) Причём там ЯП поддерживаются ЛЮБЫЕ. свёртка, табы, проверка орфографии(в т.ч. русской! я же русский), окошки.

отличное средство настройки, простой текстовый конфиг! В гробу я видел ваши окошки, по которым лазаешь дольше, чем код пишешь.

ну хоткеи, на которых можно повесить всё что угодно, вплоть до сложной функции с циклами и переменными. А не как обычно — сохранить/собрать/запустить

интерфес с кнопками ТОЛЬКО! В других говно-IDE требовалось отрывать руки от клавы, мышевозить, потом опять смотреть, на какие кнопки нажимать… Тут всё можно сделать одними кнопками, т.е. буквально за долю секунды.

удалённая работа. Я просто запускаю vim на удалённом сервере, и просто работаю.

есть Over9000 плагинов, из которых я юзаю 3½, но таких фич нигде нет, потому-что никому не нужно, а МНЕ НУЖНО.

поддержка регулярных выражений. С помощью магии :%s/\s[^<]\(\w\+\)/ <li>\1<\/li>/gc я решаю весьма сложные задачи одной левой. Пруф: Задачка по многострочной модификации + новый ресурс. Вы скажете «я этого не понимаю», тогда вон отсюда на винфак! В *nix без знания regex вы не программист, а тупое говно.

поддержка командной строки прямо в редакторе. Т.е. вам нужно копипастить кусок куда-то, там его прогонять через что-то, потом копипастить обратно. Здесь это делается в два нажатия на кнопки не считая набора команды.

Ну лёгкость. У вас компьютер мощный, да? А как насчёт открыть mysql dump на несколько гигов? Пока он у вас будет открываться, я его исправлю, сохраню, и напьюсь пива.

короче ещё можно долго писать, но уже задолбало.

emulek ()
Ответ на: комментарий от pon4ik

Не холивара для, а интереса ради, как мьсе осуществяет поиск использований символов и рефакторинг, на проектах начиная от 300к строчек?

а в чём проблема-то?

emulek ()
Ответ на: комментарий от pon4ik

Хотя до IDE, со всем уважением к виму, он в любом случае не дотягивает как ни крути.

что-же должна уметь IDE, чего не умеет vim?

emulek ()
Ответ на: комментарий от i-rinat

Он должен быть написан на C, С++, Java или Python.

странный критерий. Даже и не знаю, что сказать на это… А девушки у вас только маши, даши, саши, и глафиры? Катя не катит, света не светит?

emulek ()
Ответ на: комментарий от emulek

странный критерий

И чем он странный? Если в инструменте есть баг, очень желательно, чтобы я мог его починить, если придётся. Заводить багрепорт и ждать решения может быть слишком долго.

i-rinat ★★★★★ ()
Ответ на: комментарий от emulek

Раз уж о vim. Как дела обстоят с подсветкой функций/методов, локальных, глобальных переменных и полей в структурах и классах? Это же настраивается?

Спрашиваю, так как я его использую больше для редактирования конфигов и мало вникал во всю суть его настройки.

kachsheev ★★★ ()

Unix is Programming environment (Керниган и Пайк)

The Unix System ( Bourne который sh и оммаж которому b(ourne )a(gain)sh)

наличный навык и наличие комьюнити под рукой

qulinxao ★★☆ ()
Ответ на: комментарий от pon4ik

Не холивара для

а только первое что в голову пришло:

grep blah -rno ./
А вообще, ну серьезно, ты весь проект считал? Так не честно. Почему? Читай дальше.

Если «что-то» будет использовано во всех местах проекта, то любое ИДЕ просядет и будет долго выдавать результат (кстати в таком случае реализация этого «что-то» должнА быть простА как топор, ну типа: int sum(int a, int b);). Или время ответа среды разработки мы не обсуждаем? Ну тогда вон тот греп и прикрутить к виму. Я понимаю, результат надо древовидно отобразить и все такое, это уже плагинить, да полюбому есть готовые решения, но я этим не пользуюсь.

Если тебе приходится искать «что-то» в 300к строках кода, то это уже точно проблема кода, а не какой либо ИДЕ/редактора.

Как так у людей получается нагавнякать овер 300к строк в контексте одной либы? Почему не поделил на пять разных? Почему не выстроил иерархию? Не делится? Не выстраивается? Ну говнокод значит, иди думай.

З.Ы. Не, это ни к кому лично не относится, но вот такие мысли есть.

deep-purple ★★★★★ ()
Ответ на: комментарий от kachsheev

Как дела обстоят с подсветкой функций/методов

не знаю. А зачем их подсвечивать? И так не понятно что-ли?

локальных, глобальных переменных

глобальных у меня не бывает. Разве-что отладочные костылики.

Это же настраивается?

это плагин надо выбрать. Мне не нужно, я не в курсе. Пальцем ткните.

emulek ()
Ответ на: комментарий от kachsheev

Просто интересно, как и что народ в свое время выбирал. Не уверен, что Вы сразу же до VIM докатились.

У меня как-то так: notepad.exe -> Kate -> Emacs -> Sublime Text 2 -> vim

mix_mix ★★★★★ ()
Ответ на: комментарий от pon4ik

Не холивара для, а интереса ради, как мьсе осуществяет поиск использований символов и рефакторинг, на проектах начиная от 300к строчек?

а действительно, что такое в твоём проекте имеет область видимости на все 300к строчек?

emulek ()
Ответ на: комментарий от pon4ik

как мьсе осуществяет поиск использований символов и рефакторинг, на проектах начиная от 300к строчек?

:help arglist

реквистирую vimrc

Достаточно пустого.

mix_mix ★★★★★ ()
Ответ на: комментарий от pon4ik

Проблема в отсутствии инструментальных средст.

что это такое? Хоть название скажи, я не гордый, погуглю.

emulek ()
Ответ на: комментарий от emulek

А как насчёт открыть mysql dump на несколько гигов?

От файла в несколько гигабайт vim захлебнется и сдохнет. К моему сожалению, с большими файлами он работает паршиво.

andreyu ★★★★★ ()
Ответ на: комментарий от kachsheev

с подсветкой функций/методов, локальных, глобальных переменных и полей в структурах и классах?

Это вопрос касаемо овер 300к строк обзора сразу чтоб не попутать где у тебя «name» красного цвета, а где синим дабы понять к какому сгустку лапши она относится? Или просто чтобы код выглядел как попугайчик?

deep-purple ★★★★★ ()
Ответ на: комментарий от deep-purple

Думаешь мало на свете проблемного кода. Да и просто большого, Ceph тот же посмотри. Если это говнокод то любая обширная фингня дожившая до продакшна - куча какашек (и я как бы с этим даже и не спорю). Ну буст там, Qt, gtk и иже с ними вообщем.

Вопрос в том какое ковыряло для инспекции сих куч использовать.

А grep, ну это конечно наше всё, но к кодовой базе хотелось бы не только ридонли запросы делать. А ещё хотелось бы что бы ковыряло понимало оба полиморфизма хотя бы.

П.с. :help :vimgrep :help :wc

pon4ik ★★★★★ ()
Ответ на: комментарий от emulek

что-же должна уметь IDE, чего не умеет vim?

Жаль, что вим не имеет нативной поддержки gdb или lldb. Костыли в виде clewn и pyclewn так и остаются костылями. Впрочем к отладке в консоли минуя vim я уже давно привык.

andreyu ★★★★★ ()
Ответ на: комментарий от emulek

Никто тебя за уши не тянет. :) Спросили, что главное. Для меня это главное. А всякие раскраски, подсказки, авто-подстановки и другие умные фичи мешают (мне).

UNIX — это и есть IDE.

Пробовал emacs. Бросил — мешает. Пробовал sublime. Бросил — мешает. Для меня единственный вменяемый редактор — это vi (не vim).

beastie ★★★★★ ()
Ответ на: комментарий от emulek

Find usages банальный. Encapsulate field, rename, и далее по списку. Пока поделие юниксвейно небольшое оно в принципе всё не надо да.

Но любая поделка размером хотя бы с geany, уже гораздо бодрее пилиться в ковыряле, умеющим сии штуки. А ceph например, ты заколебёшься грепать, я уж молчу про ынтырпайзный продакшн(не к ночи будь он упомянут).

pon4ik ★★★★★ ()
Ответ на: комментарий от pon4ik

Да, в таком случае смотри что получается. Любая ИДЕ только расслабляет, а не концентрирует. В итоге результатом и будут эти овер 300к строк лапши, в которой только с ИДЕ и получится разобраться, и накидать еще пару десятков костылей.

Я вот даже резюмирую в интересную сторону: А чем тогда юзатель ИДЕ отличается от пыхомакаки? Результат то на выходе один и тот же - лапша.

UPD: О! А пыхомакака с ИДЕ, так это вообще гремучая смесь ))

deep-purple ★★★★★ ()
Последнее исправление: deep-purple (всего исправлений: 1)

что для вас является важным при выборе того или иного инструмента для программирования на C и C++?

1. Автодополнение и удобная навигация по коду (включая скорость работы этого дела). Без этого жить можно, но все становится медленее. Часто в больших проектах больше времени гуляешь по коду, чем пишешь. Ну и средства рефакторинга туда же - короче нормальный парсер кода.

2. Интеграция с используемой билд-системой.

3. Интеграция и удобство использования отладчика.

4. Интеграция источников справки (man, qt, libstdc++ и т.п.).

Pavval ★★★★★ ()
Ответ на: комментарий от kachsheev

Не уверен, что Вы сразу же до VIM докатились

Ну и что, в некоторых языках и это неприменимо.

Deleted ()
Ответ на: комментарий от deep-purple

Да, да ходят такие толксы в инете, я им даже когда то верил.

Однако, ткни мну в какой нибудь успешный проект с ощутимым количеством пользователей, в который можно быстро вникнуть без использования инструментов навигации по коду(как бы даже хрен с ним с рефакторингом, я кроме rename, очень редко что то использую, доверив инструменту).

Там может не быть лапши, а просто много юзекейсов, которые даже покрыты тестами. Но требования вещь такая, они меняются.

И это только одна сторона вопроса (напомню речь идёт сейчас таки про то, чего не хватает виму).

Деплой/редеплой(из коробки и в один шорткат), отладка не уходя их редактора(в виме оно как бы есть, но заводиться не везде), проверка кодестайла(можно накостылить), статический анализ на лету(syntastic, но как бы далеко ему ещё даже до студии), мастера для типовых файлов/классов... Подумав можно ещё накидать.

И опять же, ключевое слово integrated то бишь из коробки и без переключений контекста.

pon4ik ★★★★★ ()
Ответ на: комментарий от Pavval

Вот этого товарища я плюсану. И кто скажет что весь чеклист покрыт в vim'e, пусть первый бросит в меня камень :)

Я как бы даже знаю на чито он намекает, если ведёт речь о крестах :)

pon4ik ★★★★★ ()
Ответ на: комментарий от reprimand

Ну я юзаю его постоянно с вимом на пАру. Почему и как? Ну, в виме обычно чонить на бекенде открыто, а гедит типа «по быстрому» открыл на другом рабочем пространстве какой-нибудь хтмл-шаблон, потом еще и еще.. И так вот получается что в обоих редакторах работаю. А потом уже лень переоткрывать все в одном.

deep-purple ★★★★★ ()
Ответ на: комментарий от deep-purple

То бишь пришёл такой раби/пайтон/нод/чё там ещё щас модно девелопер, у которого пол IDE это любой нормальны браузер, в тред про крестовую иде, и говорит, что вам, дескать должно хватать vim'a :)

ОуКэЙ.

pon4ik ★★★★★ ()
Ответ на: комментарий от andreyu

От файла в несколько гигабайт vim захлебнется и сдохнет. К моему сожалению, с большими файлами он работает паршиво.

я не говор-бы, если-бы не открывал. Тормозит на открытии, это да. Потом нормально редактирует. Потом тормозит на закрытии.

Но конечно для больших файлов лучше sed. Ну и less (тоже тупит, но быстрее vim).

emulek ()
Ответ на: комментарий от pon4ik

Ну тут видишь, все завязано на т.н. интерпрайз, тут же манагеры гонят вперед, сроки давят, ессно приходится вот так на тяп-ляп работать и побыстрее. Вот как ты сказал - УСПЕШНЫЙ проект, это значит тот который уже на плаву, на слуху - тут уже обсериться никак низзя, к тому же не одному, а целой группе людей. И надо всегда версии, версии плюсовать, минорные чтоб ака секунды бежали, мажорные ака минуты.

deep-purple ★★★★★ ()
Ответ на: комментарий от deep-purple

Или просто чтобы код выглядел как попугайчик?

ROFL

emulek ()
Ответ на: комментарий от pon4ik

grep, ну это конечно наше всё, но к кодовой базе хотелось бы не только ридонли запросы делать.

sed наше всё, я гарантирую это!

emulek ()
Ответ на: комментарий от andreyu

Жаль, что вим не имеет нативной поддержки gdb или lldb. Костыли в виде clewn и pyclewn так и остаются костылями. Впрочем к отладке в консоли минуя vim я уже давно привык.

ИМХО долбёжка — не наш метод.

emulek ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.