кто как кодит на с++ (поделитесь опытом)
Модератор: Модераторы разделов
кто как кодит на с++
Привет.
Хочу вернуться в мир Линукса, для этого надо в первую очередь создать благоприятное окружение для программирования на с++.
До этого пользовался CodeBlocks, потом увидел VisualStudio(лучше бы не видел..) и теперь CodeBlocks уже не котируется.
Пробовал:
Monodevelop(даже автодополнения не подключилось)
Codelite - частично автодополнение работало, та и в целом не очень понравилась.
Netbeans, eclipse - не смотрел т.к. они на джаве(религиозные предубеждения связанные в проф активностью)
Sublime - ставил тыщу плагинов, даже добился риалтайм чекинга кода. но задолбался мейк файлы писать. читал о cmake но прикрутить так и не собрался.
Слышал про платную ИДЕ Clion, но из обзора не увидел за что там платить, может не туда смотрел.
С детства слышал: пиши в нотпаде, компилируй в консоли. и если писать что-то на 1-2 файла это ок. но если вырисовывается мало-мальски крупный проект - такой подход не валиден. Уж слишком много времени экономит IDE.
PS: я понимаю, что под линукс нету VS, поэтому хотелось бы узнать с чем люди работают, почему такой выбор был сделан. Как можно улучшить продуктивность, советы, пожелания.
PS2: находил на форуме темы про IDE для с++, но во-первых, моя тема уникальна! А во-вторых, все что я находил было в нулевых. Хочется верить, что этот сектор немного развился за десяток лет.
Спасибо
Хочу вернуться в мир Линукса, для этого надо в первую очередь создать благоприятное окружение для программирования на с++.
До этого пользовался CodeBlocks, потом увидел VisualStudio(лучше бы не видел..) и теперь CodeBlocks уже не котируется.
Пробовал:
Monodevelop(даже автодополнения не подключилось)
Codelite - частично автодополнение работало, та и в целом не очень понравилась.
Netbeans, eclipse - не смотрел т.к. они на джаве(религиозные предубеждения связанные в проф активностью)
Sublime - ставил тыщу плагинов, даже добился риалтайм чекинга кода. но задолбался мейк файлы писать. читал о cmake но прикрутить так и не собрался.
Слышал про платную ИДЕ Clion, но из обзора не увидел за что там платить, может не туда смотрел.
С детства слышал: пиши в нотпаде, компилируй в консоли. и если писать что-то на 1-2 файла это ок. но если вырисовывается мало-мальски крупный проект - такой подход не валиден. Уж слишком много времени экономит IDE.
PS: я понимаю, что под линукс нету VS, поэтому хотелось бы узнать с чем люди работают, почему такой выбор был сделан. Как можно улучшить продуктивность, советы, пожелания.
PS2: находил на форуме темы про IDE для с++, но во-первых, моя тема уникальна! А во-вторых, все что я находил было в нулевых. Хочется верить, что этот сектор немного развился за десяток лет.
Спасибо
Re: кто как кодит на с++
https://www.jetbrains.com/clion/
пробовали? Куча положительных отзывов.
а что у вас за деятельность и чем плохи программы на джава?
пробовали? Куча положительных отзывов.
Netbeans, eclipse - не смотрел т.к. они на джаве(религиозные предубеждения связанные в проф активностью)
а что у вас за деятельность и чем плохи программы на джава?
Re: кто как кодит на с++
QtCreator можно использовать в том числе для проектов без Qt
Спасибо сказали:
Re: кто как кодит на с++
azsx писал(а): ↑14.11.2015 02:32https://www.jetbrains.com/clion/
пробовали? Куча положительных отзывов.
Netbeans, eclipse - не смотрел т.к. они на джаве(религиозные предубеждения связанные в проф активностью)
а что у вас за деятельность и чем плохи программы на джава?
У меня есть опыт использования двух программ на джава, одна из них oracle sql developer. и скажу я вам, я не был более счастлив, чем когда установил pl/sql developer. На работе люди кодят на джаве, но от эклипса отказались в пользу продукта от джетбрейнс.
clion наверное действительно стоит попробовать, триальник есть. а там если что 8$ в месяц весьма подъемно. кстати, он тоже на джаве. что ж за мода такая, делать IDE для с++ на джаве ...
Совсем забыл. попробую сегодня. В репозиторие стабильной ветки находится версия 3.2 а последняя на сайте 3.5. Надо подумать...
спасибо
Re: кто как кодит на с++
BOSS
QtCreator 3.2.x — это последняя, которая собирается с Qt4, посмотрите нет ли что-то вроде libqt5-creator (как в openSUSE, которая имеет версию 3.5.1) или отдельный репозиторий с новой версией. В Debian вот 3.5.1, насколько вижу: https://packages.debian.org/stretch/devel/qtcreator, может, надо подключить testing? Mint же на Debian сейчас основан?
QtCreator 3.2.x — это последняя, которая собирается с Qt4, посмотрите нет ли что-то вроде libqt5-creator (как в openSUSE, которая имеет версию 3.5.1) или отдельный репозиторий с новой версией. В Debian вот 3.5.1, насколько вижу: https://packages.debian.org/stretch/devel/qtcreator, может, надо подключить testing? Mint же на Debian сейчас основан?
Re: кто как кодит на с++
что ж за мода такая, делать IDE для с++ на джаве ...
рискну погадать, что причина в том, что не смотря на уверения маркетологов (в том числе и о qt) есть только один реально кроссплатформенный язык программирования. Это java.
Все остальные кроссплатформенные, на уровне компиляторов, однако в реальной жизни проще сразу на джава программу переписать, чем qt кросс компилировать, к примеру.
зы
я лично изучаю с на нетбеанс, проблем не вижу. Особых плюсов в qt по сравнению с визуал студио от мс - я не заметил. Рисование формочек в псевдо языке - это круто, но даже рядом не стоит с ихней студией. Ну и да, я не знаю пока не с, ни с++.
Re: кто как кодит на с++
azsx
Вы поднимали серьёзный проект на C++ в VisualStudio? Боюсь Вас разочаровать, но эта студия не так прекрасна, как кажется. Да, отладчик там хороший, но всё остальное далеко не эталон. И ситуация не меняется со студии 2005, потому что приоритетный язык для MS — C#, а не C++. В итоге имеем для C++ кривой IntelliSens, отсутствие рефакторинга, ограниченный автокомплит и т.д.
Вы поднимали серьёзный проект на C++ в VisualStudio? Боюсь Вас разочаровать, но эта студия не так прекрасна, как кажется. Да, отладчик там хороший, но всё остальное далеко не эталон. И ситуация не меняется со студии 2005, потому что приоритетный язык для MS — C#, а не C++. В итоге имеем для C++ кривой IntelliSens, отсутствие рефакторинга, ограниченный автокомплит и т.д.
Спасибо сказали:
Re: кто как кодит на с++
NickLion писал(а): ↑14.11.2015 13:41azsx
Вы поднимали серьёзный проект на C++ в VisualStudio? Боюсь Вас разочаровать, но эта студия не так прекрасна, как кажется. Да, отладчик там хороший, но всё остальное далеко не эталон. И ситуация не меняется со студии 2005, потому что приоритетный язык для MS — C#, а не C++. В итоге имеем для C++ кривой IntelliSens, отсутствие рефакторинга, ограниченный автокомплит и т.д.
Извиняюсь за вопрос на вопрос
подскажите, чем пользуетесь Вы в работе?
В каком IDE лучше работает автодополнение, рефакторинг с Вашей точки зрения?
Может я не разобрался с чем-то, или не знаю о каких-то плагинах, фичах.
Я открыт к изменениям, разве что до последнего постараюсь отложить IDE реализованные на джаве
PS: Clion неплох, но не верится, что нет опенсор аналога, который может делать такое же. к тому же, как я уже писал, он на джаве реализован.
QTcreator собираюсь ставить сегодня. видеообзор фич заинтересовал.
Спасибо за советы.
Re: кто как кодит на с++
NickLion скорее всего вы правы, ничего серьезного я не писал.
- Bizdelnick
- Модератор
- Сообщения: 20752
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: кто как кодит на с++
Вам придётся в любом случае писать мейкфайлы, осваивать cmake, bjam или что там ещё нынче в моде. Потому что
сборку совершенно необходимо автоматизировать, дабы была возможность прикрутить CI. Если Вы этого ещё не поняли, видимо, с крупными проектами дела просто не имели.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: кто как кодит на с++
Bizdelnick писал(а): ↑14.11.2015 16:37Вам придётся в любом случае писать мейкфайлы, осваивать cmake, bjam или что там ещё нынче в моде. Потому чтосборку совершенно необходимо автоматизировать, дабы была возможность прикрутить CI. Если Вы этого ещё не поняли, видимо, с крупными проектами дела просто не имели.
Bizdelnick,
Пару минут назад как раз читал информацию cmake vs qmake(поставил qtcreator) и там ровно то же написано: необходимо предусмотреть автоматическую сборку под CI и обеспечить (в идеале) независимость от конкретной IDE.
Совершенно верно подмечено, в С++ я профан. Есть более-менее серьезный опыт лишь с Python, PL/SQL. Там с этим всем немного иначе дела обстоят.
Re: кто как кодит на с++
Код: Выделить всё
unique_ptr<string> s = make_unique<string>();
s->
s.
Ни один, из использованных мною, IDE не осилил корректное автодополение в таком случае. ближе всего был clion, он в обоих случаях показывал методы string.
c++14 подключил. код компилируется. Что за напасть такая
Re: кто как кодит на с++
Угу, в этом проблема со студией, в начале она кажется круче, потому что хороший отладчик, настройки в окошках и т.п. А на серьёзных проектах многое (ну, кроме отладчика) начинает в студии не устраивать. Хотя, есть люди, которые в ней работают. Обычно студия тогда обрастает Visual Assist X и другими плагинами, которые вообще убирают родные глючные реализации и добавляют свою функциональность (например, рефакторинг, который в студии отсутствовал).
Мне больше всего нравится QtCreator. Определение типа сложного выражения иногда шалит, но в целом очень неплохо. Раньше в определении типов был лучше в KDevelop, но в у него, как по мне, немного перегруженный интерфейс.
Что касается рефакторинга, то базовые вещи есть (выделить как метод, переименование и т.п.) есть, в целом хватает. Думаю, что CLion в плане рефакторинга может быть впереди (ещё не пробовал его), у JetBrains — это вроде как фишка. Но требовательность к ресурсам меня не особо устраивает (пробовал другие их продукты).
Что касается примера с unique_ptr, QtCreator его понимает, в первом случае (->) показывает методы std:string, во втором методы unique_ptr
Re: кто как кодит на с++
NickLion,
Спасибо, я поставил qtcreator 3.5 из тестовой ветки, Присматриваюсь. Пока понятно, что знаний cmake не хватает(я отдал предпочтение именно cmake т.к. более он распространен и имеет вшитую поддержку в большем количестве IDE). Сама IDE обладает и вменяемой подсветкой синтаксиса и проверкой орфографии на лету и автодополнением(хотя лично не мне очень нравится, когда сразу (без прелюдий ) показывает все перегруженные методы...надеюсь можно будет отключить). Интерфейс не очень понятный пока.
Я думаю, что я неправильно включил поддержку стандартных библиотек. При компиляции их подгружает(включал в cmake), а вот во время редактирования, судя по всему, нет. Почитаю еще.
PS: после перезагрузки системы проблема не воспроизводится. Perfectly fine!
Спасибо, я поставил qtcreator 3.5 из тестовой ветки, Присматриваюсь. Пока понятно, что знаний cmake не хватает(я отдал предпочтение именно cmake т.к. более он распространен и имеет вшитую поддержку в большем количестве IDE). Сама IDE обладает и вменяемой подсветкой синтаксиса и проверкой орфографии на лету и автодополнением(хотя лично не мне очень нравится, когда сразу (без прелюдий ) показывает все перегруженные методы...надеюсь можно будет отключить). Интерфейс не очень понятный пока.
Я думаю, что я неправильно включил поддержку стандартных библиотек. При компиляции их подгружает(включал в cmake), а вот во время редактирования, судя по всему, нет. Почитаю еще.
PS: после перезагрузки системы проблема не воспроизводится. Perfectly fine!
- Stauffenberg
- Сообщения: 2042
- Статус: ☮ PEACE ☮
- ОС: открытая и свободная
Re: кто как кодит на с++
Как уже сказали выше - QtCreator.
Если по какой-то из причин он не подходит, то emacs
Если по какой-то из причин он не подходит, то emacs
Labor omnia vincit
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Re: кто как кодит на с++
ieleja
Этот выкидыш для C++ не подходит, это просто Atom + фигня = веб-редактор.
Этот выкидыш для C++ не подходит, это просто Atom + фигня = веб-редактор.
- Hephaestus
- Сообщения: 3729
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
- Контактная информация:
Re: кто как кодит на с++
А Вас кто-то прогнал из этого мира? Ай-яй-яй...
Рациональное зерно в этом есть.
Отчего же? Такой подход сложнее, зато универсален.
Не привязан к конретной IDE. Следовательно, не зависит от её (IDE) причуд и заморочек, коих бывает немало.
Не, не уникальна. Обсуждали уже не раз. И я уже успел, участвуя в одном обсуждении, сослаться на другое, более давнее.
Мне, собственно не жалко, сошлюсь ещё раз: IDE под LInux. Тема старая и длинная, но содержит интересные мысли. Ознакомьтесь.
Там эти вопросы обсуждали столь активно, что и добавить-то нечего.
Но если коротко: IDE - это зависимость, порой лишняя, ненужная. А на этапе обучения - вредная.
И если есть возможность обходиться без IDE, то надо это делать.
Сейчас Вы свободны от этой зависимости, ну и не стоит её на себя вешать.
IDE порой таковы, что решают проблемы, которых без IDE не было, а ещё хуже, когда вместо решения целевой задачи, Вам придётся решать проблемы с IDE.
Re: кто как кодит на с++
Hephaestus,
Спасибо за ссылку. Уже читаю, всегда интересно "а как оно было 10 лет назад"
По поводу зависимости от IDE - подписываюсь под каждым словом. Я какое-то время имел зависимость от mcvs и пытался найти ее же под LINUX.
Спасибо форуму - образумили меня. Все прошло по стандартному сценарию развенчивания зависимостей: сначала надо понять, что оно тебе не нужно,
Сейчас познаю прелести cmake. Уже сто раз себя выругал, что так и не осилил vim.
Добавлю, что как только буду уверенно себя чувствовать без IDE - начну ей пользоваться.
PS: тут можно провести аналогию с утверждением James Bach в книге "Lessons learned in Software Testing" (вольная адаптация): "Перед тем как автоматизивароть процессы (тестирования) необходимо быть уверенным, что они хорошо налажены." Надо будет перечитать по свободе, отличная книга, к слову.
PS2: Жестко смотрится, особенно для "невимщика" - http://unixforum.org/index.php?act=attach&type=post&id=5654 конфиг - Тонкая настройка vim
Спасибо за ссылку. Уже читаю, всегда интересно "а как оно было 10 лет назад"
По поводу зависимости от IDE - подписываюсь под каждым словом. Я какое-то время имел зависимость от mcvs и пытался найти ее же под LINUX.
Спасибо форуму - образумили меня. Все прошло по стандартному сценарию развенчивания зависимостей: сначала надо понять, что оно тебе не нужно,
Сейчас познаю прелести cmake. Уже сто раз себя выругал, что так и не осилил vim.
Добавлю, что как только буду уверенно себя чувствовать без IDE - начну ей пользоваться.
PS: тут можно провести аналогию с утверждением James Bach в книге "Lessons learned in Software Testing" (вольная адаптация): "Перед тем как автоматизивароть процессы (тестирования) необходимо быть уверенным, что они хорошо налажены." Надо будет перечитать по свободе, отличная книга, к слову.
PS2: Жестко смотрится, особенно для "невимщика" - http://unixforum.org/index.php?act=attach&type=post&id=5654 конфиг - Тонкая настройка vim
- Hephaestus
- Сообщения: 3729
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
- Контактная информация:
Re: кто как кодит на с++
Ну, по большому счёту, что является основным при работе с текстовым редактором? Использование клавиатуры.
Кому не подходит vim, тому может подойти emacs.
Два титана, имеющие принципиальные отличия как раз в части использования клавиатуры: режимы vim против "многоклавишных" комбинаций emacs. На эту тему также было множество обсуждений, в том числе и на этом форуме.
Народ условно делится на два соответствующих лагеря.
Возможно, Вы не осилили vim, потому что принадлежите к "эмаксерам", только Вы ещё сам об этом не знаете.
Это да. Неоднократно встречал в статьях/книгах и прочих материалах такой тезис: прежде чем использовать автоматику (всякие там визарды, помощники, построители), надо научиться делать руками. То же самое можно сказать и про IDE.
Re: кто как кодит на с++
Для обучения, обходиться без IDE — это правильно, но на более-менее крупных проектах, среда даёт преимущество. Я пользуюсь и vim, и QtCreator, что-то выбрасывать не собираюсь. И да, кстати, для привыкших к особенностям vim, вроде меня, QtCreator имеет режим эмуляции.
- minoru-kun
- Сообщения: 620
- ОС: Debian GNU/Linux
Re: кто как кодит на с++
Использую продукты JetBrains для вопросов, связанных с изучением структуры проекта. Но непосредственно набирать код предпочитаю в (g)vim
- Hephaestus
- Сообщения: 3729
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
- Контактная информация:
Re: кто как кодит на с++
Я что-то не пойму: ссылка на картинку - это из той темы или это уже Ваша картинка - результат применения конфига?BOSS писал(а): ↑16.11.2015 00:28PS2: Жестко смотрится, особенно для "невимщика" - http://unixforum.org/index.php?act=attach&type=post&id=5654 конфиг - Тонкая настройка vim
Re: кто как кодит на с++
Hephaestus писал(а): ↑25.11.2015 12:17Я что-то не пойму: ссылка на картинку - это из той темы или это уже Ваша картинка - результат применения конфига?
Это картинка из темы, на которую вы дали мне ссылку - IDE под Linux
Для меня, как "не-вимщика", подобный вид среды разработки немножко шокировал. Хотя сейчас у меня уже что-то похожее.
Моя сейчас выглядит вот так(из дома выглядит немного красивее, это я через ssh зашел):
Я включил всё, что есть. обычно список буферов вызываю только для переключения. Структуру кода тоже только по необходимости. Ну и список ошибок так же.
Еще то, чего не видно: поддержка автодополнения, интеграция с git, cmake, gdb.
Пытаюсь постепенно перейти от visual studio, осталось только с gdb разобраться, остальное уже кое-как осилил.
Вот из дома:
Re: кто как кодит на с++
А как же TheIDE (http://www.ultimatepp.org/www$uppweb$index$ru-ru.html)?
Не похожа на Code::Blocks/CodeLite/MS Visual Studio, но затягивает.
Не похожа на Code::Blocks/CodeLite/MS Visual Studio, но затягивает.
- Hephaestus
- Сообщения: 3729
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
- Контактная информация:
Re: кто как кодит на с++
Гм.. Я так и не нашёл, к какому посту она прикреплена.
Дайте ссылку на пост, интересно глянуть.
- Hephaestus
- Сообщения: 3729
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
- Контактная информация:
Re: кто как кодит на с++
Если Вы столь уверенный "не-вимщик", может быть, стоит всё-таки глянуть на emacs? Хотя бы в том смысле, что не vim'ом единым...?
Я-то пишу вслепую и для меня vim, который позволяет использовать клавиши практически без модификаторов - самое то.
А вот эмаксовские Ctrl+bla+bla+bla для слепой печати не подходят совсем никак - сбивают с ритма. Об этом мы уже тоже где-то тут спорили не так давно.
Re: кто как кодит на с++
Hephaestus писал(а): ↑26.11.2015 07:13Гм.. Я так и не нашёл, к какому посту она прикреплена.
Дайте ссылку на пост, интересно глянуть.
Пожалуйста, IDE под Linux
Уже поздно я прилично времени потратил на vim, сейчас конечно не всё гладко, но лучше поработаю с тем что есть. Т.к. за последние 3 недели, я 2 настраивал окружение(неделю генту доводил, а потом она мне разонравилась )
Емакс я обязательно посмотрю, но позже. К тому же чем больше я работаю с vim - тем больше он мне нравится(фича с режимами), хоть и не всё еще знаю.помню. Но вот плагины у вима(половина, которых я использую) никуда не годятся. Друг с другом конфликтуют, чтоли, Часто Syntastic сбрасывает версию с с++14 до с++98 и начинает ругаться на всё подряд. Или вот октрываешь браузер кода и панель с ошибками - она может открыться в части окна, где браузер с кодом... ну такое
Буду пока откручивать их, поищу еще что-нить альтернативное, всё же у меня программа небольшая, можно хоть и в чистом vim писать)
PS:
Если не составит труда, прошу покажите свой vimrc и список плагинов.
- Hephaestus
- Сообщения: 3729
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
- Контактная информация:
Re: кто как кодит на с++
У меня всё стандартно, ничего особенного. Я прикручивал только проверку орфографии и подсветку синтаксиса для разных форматов.
Сейчас вот ещё прикрутил vimpager. Неплохая, вроде бы, штука, но не всегда работает так, как надо. А жаль.
Картинка, подобная той, что Вас "шокировала" как "не вимщика", меня когда-то привела в восторг.
И я даже пробовал что-то такое использовать. Не пошло. Что-то мне там не понравилось (какие-то детали, уже не помню), а переделывать - знаний не было.
Возможно, сейчас я дозрел. Надо будет пощупать.