кто как кодит на с++ (поделитесь опытом)

Любые разговоры которые хоть как-то связаны с тематикой форума

Модератор: Модераторы разделов

Ответить
Аватара пользователя
Tema
Сообщения: 143

кто как кодит на с++

Сообщение Tema »

 Привет.

Хочу вернуться в мир Линукса, для этого надо в первую очередь создать благоприятное окружение для программирования на с++.
До этого пользовался CodeBlocks, потом увидел VisualStudio(лучше бы не видел..) и теперь CodeBlocks уже не котируется.
Пробовал:
 Monodevelop(даже автодополнения не подключилось)
Codelite - частично автодополнение работало, та и в целом не очень понравилась.
Netbeans, eclipse - не смотрел т.к. они на джаве(религиозные предубеждения связанные в проф активностью)
Sublime - ставил тыщу плагинов, даже добился риалтайм чекинга кода. но задолбался мейк файлы писать. читал о cmake но прикрутить так и не собрался.
Слышал про платную ИДЕ Clion, но из обзора не увидел за что там платить, может не туда смотрел.

С детства слышал: пиши в нотпаде, компилируй в консоли. и если писать что-то на 1-2 файла это ок. но если вырисовывается мало-мальски крупный проект - такой подход не валиден. Уж слишком много времени экономит IDE.

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

PS2: находил на форуме темы про IDE для с++, но во-первых, моя тема уникальна! :) А во-вторых, все что я находил было в нулевых. Хочется верить, что этот сектор немного развился за десяток лет.

Спасибо
Спасибо сказали:
azsx
Сообщения: 3684
ОС: calculate linux, debian, ubuntu

Re: кто как кодит на с++

Сообщение azsx »

https://www.jetbrains.com/clion/
пробовали? Куча положительных отзывов.
Netbeans, eclipse - не смотрел т.к. они на джаве(религиозные предубеждения связанные в проф активностью)

а что у вас за деятельность и чем плохи программы на джава?
Спасибо сказали:
FlySnake
Сообщения: 992
ОС: openSUSE
Контактная информация:

Re: кто как кодит на с++

Сообщение FlySnake »

QtCreator можно использовать в том числе для проектов без Qt
Спасибо сказали:
Аватара пользователя
Tema
Сообщения: 143

Re: кто как кодит на с++

Сообщение Tema »

azsx писал(а):
14.11.2015 02:32
https://www.jetbrains.com/clion/
пробовали? Куча положительных отзывов.
Netbeans, eclipse - не смотрел т.к. они на джаве(религиозные предубеждения связанные в проф активностью)

а что у вас за деятельность и чем плохи программы на джава?

У меня есть опыт использования двух программ на джава, одна из них oracle sql developer. и скажу я вам, я не был более счастлив, чем когда установил pl/sql developer. На работе люди кодят на джаве, но от эклипса отказались в пользу продукта от джетбрейнс.
clion наверное действительно стоит попробовать, триальник есть. а там если что 8$ в месяц весьма подъемно. кстати, он тоже на джаве. что ж за мода такая, делать IDE для с++ на джаве ...

FlySnake писал(а):
14.11.2015 08:09
QtCreator можно использовать в том числе для проектов без Qt

Совсем забыл. попробую сегодня. В репозиторие стабильной ветки находится версия 3.2 а последняя на сайте 3.5. Надо подумать...

спасибо
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: кто как кодит на с++

Сообщение NickLion »

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 сейчас основан?
Спасибо сказали:
azsx
Сообщения: 3684
ОС: calculate linux, debian, ubuntu

Re: кто как кодит на с++

Сообщение azsx »

что ж за мода такая, делать IDE для с++ на джаве ...

рискну погадать, что причина в том, что не смотря на уверения маркетологов (в том числе и о qt) есть только один реально кроссплатформенный язык программирования. Это java.
Все остальные кроссплатформенные, на уровне компиляторов, однако в реальной жизни проще сразу на джава программу переписать, чем qt кросс компилировать, к примеру.
зы
я лично изучаю с на нетбеанс, проблем не вижу. Особых плюсов в qt по сравнению с визуал студио от мс - я не заметил. Рисование формочек в псевдо языке - это круто, но даже рядом не стоит с ихней студией. Ну и да, я не знаю пока не с, ни с++.
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: кто как кодит на с++

Сообщение NickLion »

azsx
Вы поднимали серьёзный проект на C++ в VisualStudio? Боюсь Вас разочаровать, но эта студия не так прекрасна, как кажется. Да, отладчик там хороший, но всё остальное далеко не эталон. И ситуация не меняется со студии 2005, потому что приоритетный язык для MS — C#, а не C++. В итоге имеем для C++ кривой IntelliSens, отсутствие рефакторинга, ограниченный автокомплит и т.д.
Спасибо сказали:
Аватара пользователя
Tema
Сообщения: 143

Re: кто как кодит на с++

Сообщение Tema »

NickLion писал(а):
14.11.2015 13:41
azsx
Вы поднимали серьёзный проект на C++ в VisualStudio? Боюсь Вас разочаровать, но эта студия не так прекрасна, как кажется. Да, отладчик там хороший, но всё остальное далеко не эталон. И ситуация не меняется со студии 2005, потому что приоритетный язык для MS — C#, а не C++. В итоге имеем для C++ кривой IntelliSens, отсутствие рефакторинга, ограниченный автокомплит и т.д.

Извиняюсь за вопрос на вопрос :)
подскажите, чем пользуетесь Вы в работе?
В каком IDE лучше работает автодополнение, рефакторинг с Вашей точки зрения?
Может я не разобрался с чем-то, или не знаю о каких-то плагинах, фичах.
Я открыт к изменениям, разве что до последнего постараюсь отложить IDE реализованные на джаве :)

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


Спасибо за советы.

Спасибо сказали:
azsx
Сообщения: 3684
ОС: calculate linux, debian, ubuntu

Re: кто как кодит на с++

Сообщение azsx »

NickLion скорее всего вы правы, ничего серьезного я не писал.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: кто как кодит на с++

Сообщение Bizdelnick »

BOSS писал(а):
14.11.2015 02:19
задолбался мейк файлы писать. читал о cmake но прикрутить так и не собрался.
Вам придётся в любом случае писать мейкфайлы, осваивать cmake, bjam или что там ещё нынче в моде. Потому что
BOSS писал(а):
14.11.2015 02:19
если вырисовывается мало-мальски крупный проект
сборку совершенно необходимо автоматизировать, дабы была возможность прикрутить CI. Если Вы этого ещё не поняли, видимо, с крупными проектами дела просто не имели.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Tema
Сообщения: 143

Re: кто как кодит на с++

Сообщение Tema »

Bizdelnick писал(а):
14.11.2015 16:37
BOSS писал(а):
14.11.2015 02:19
задолбался мейк файлы писать. читал о cmake но прикрутить так и не собрался.
Вам придётся в любом случае писать мейкфайлы, осваивать cmake, bjam или что там ещё нынче в моде. Потому что
BOSS писал(а):
14.11.2015 02:19
если вырисовывается мало-мальски крупный проект
сборку совершенно необходимо автоматизировать, дабы была возможность прикрутить CI. Если Вы этого ещё не поняли, видимо, с крупными проектами дела просто не имели.

Bizdelnick,
Пару минут назад как раз читал информацию cmake vs qmake(поставил qtcreator) и там ровно то же написано: необходимо предусмотреть автоматическую сборку под CI и обеспечить (в идеале) независимость от конкретной IDE.
Совершенно верно подмечено, в С++ я профан. Есть более-менее серьезный опыт лишь с Python, PL/SQL. Там с этим всем немного иначе дела обстоят.
Спасибо сказали:
Аватара пользователя
Tema
Сообщения: 143

Re: кто как кодит на с++

Сообщение Tema »

Код: Выделить всё

    unique_ptr<string> s = make_unique<string>();
    s->
    s.

Ни один, из использованных мною, IDE не осилил корректное автодополение в таком случае. ближе всего был clion, он в обоих случаях показывал методы string.
c++14 подключил. код компилируется. Что за напасть такая :(
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: кто как кодит на с++

Сообщение NickLion »

azsx писал(а):
14.11.2015 16:13
NickLion скорее всего вы правы, ничего серьезного я не писал.

Угу, в этом проблема со студией, в начале она кажется круче, потому что хороший отладчик, настройки в окошках и т.п. А на серьёзных проектах многое (ну, кроме отладчика) начинает в студии не устраивать. Хотя, есть люди, которые в ней работают. Обычно студия тогда обрастает Visual Assist X и другими плагинами, которые вообще убирают родные глючные реализации и добавляют свою функциональность (например, рефакторинг, который в студии отсутствовал).

BOSS писал(а):
14.11.2015 15:11
Извиняюсь за вопрос на вопрос :)
подскажите, чем пользуетесь Вы в работе?
В каком IDE лучше работает автодополнение, рефакторинг с Вашей точки зрения?

Мне больше всего нравится QtCreator. Определение типа сложного выражения иногда шалит, но в целом очень неплохо. Раньше в определении типов был лучше в KDevelop, но в у него, как по мне, немного перегруженный интерфейс.
Что касается рефакторинга, то базовые вещи есть (выделить как метод, переименование и т.п.) есть, в целом хватает. Думаю, что CLion в плане рефакторинга может быть впереди (ещё не пробовал его), у JetBrains — это вроде как фишка. Но требовательность к ресурсам меня не особо устраивает (пробовал другие их продукты).

Что касается примера с unique_ptr, QtCreator его понимает, в первом случае (->) показывает методы std:string, во втором методы unique_ptr
Спасибо сказали:
Аватара пользователя
Tema
Сообщения: 143

Re: кто как кодит на с++

Сообщение Tema »

NickLion,
Спасибо, я поставил qtcreator 3.5 из тестовой ветки, Присматриваюсь. Пока понятно, что знаний cmake не хватает(я отдал предпочтение именно cmake т.к. более он распространен и имеет вшитую поддержку в большем количестве IDE). Сама IDE обладает и вменяемой подсветкой синтаксиса и проверкой орфографии на лету и автодополнением(хотя лично не мне очень нравится, когда сразу (без прелюдий :) ) показывает все перегруженные методы...надеюсь можно будет отключить). Интерфейс не очень понятный пока.

NickLion писал(а):
14.11.2015 20:39
Что касается примера с unique_ptr, QtCreator его понимает, в первом случае (->) показывает методы std:string, во втором методы unique_ptr


Я думаю, что я неправильно включил поддержку стандартных библиотек. При компиляции их подгружает(включал в cmake), а вот во время редактирования, судя по всему, нет. Почитаю еще.
PS: после перезагрузки системы проблема не воспроизводится. Perfectly fine! :)
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2042
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: кто как кодит на с++

Сообщение Stauffenberg »

Как уже сказали выше - QtCreator.
Если по какой-то из причин он не подходит, то 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)
Спасибо сказали:
Аватара пользователя
ieleja
Сообщения: 307
ОС: Debian 9, macOS, Windows
Контактная информация:

Re: кто как кодит на с++

Сообщение ieleja »

ad infinitum
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: кто как кодит на с++

Сообщение NickLion »

ieleja
Этот выкидыш для C++ не подходит, это просто Atom + фигня = веб-редактор.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: кто как кодит на с++

Сообщение Hephaestus »

BOSS писал(а):
14.11.2015 02:19
Хочу вернуться в мир Линукса
А Вас кто-то прогнал из этого мира? Ай-яй-яй...

BOSS писал(а):
14.11.2015 02:19
С детства слышал: пиши в нотпаде, компилируй в консоли.
Рациональное зерно в этом есть.

BOSS писал(а):
14.11.2015 02:19
такой подход не валиден.
Отчего же? Такой подход сложнее, зато универсален.
Не привязан к конретной IDE. Следовательно, не зависит от её (IDE) причуд и заморочек, коих бывает немало.

BOSS писал(а):
14.11.2015 02:19
PS2: находил на форуме темы про IDE для с++, но во-первых, моя тема уникальна!
Не, не уникальна. Обсуждали уже не раз. И я уже успел, участвуя в одном обсуждении, сослаться на другое, более давнее.
Мне, собственно не жалко, сошлюсь ещё раз: IDE под LInux. Тема старая и длинная, но содержит интересные мысли. Ознакомьтесь.
Там эти вопросы обсуждали столь активно, что и добавить-то нечего.

Но если коротко: IDE - это зависимость, порой лишняя, ненужная. А на этапе обучения - вредная.
И если есть возможность обходиться без IDE, то надо это делать.
Сейчас Вы свободны от этой зависимости, ну и не стоит её на себя вешать.
IDE порой таковы, что решают проблемы, которых без IDE не было, а ещё хуже, когда вместо решения целевой задачи, Вам придётся решать проблемы с IDE.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Tema
Сообщения: 143

Re: кто как кодит на с++

Сообщение Tema »

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
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: кто как кодит на с++

Сообщение Hephaestus »

BOSS писал(а):
16.11.2015 00:28
Уже сто раз себя выругал, что так и не осилил vim.
Ну, по большому счёту, что является основным при работе с текстовым редактором? Использование клавиатуры.
Кому не подходит vim, тому может подойти emacs.
Два титана, имеющие принципиальные отличия как раз в части использования клавиатуры: режимы vim против "многоклавишных" комбинаций emacs. На эту тему также было множество обсуждений, в том числе и на этом форуме.
Народ условно делится на два соответствующих лагеря.
Возможно, Вы не осилили vim, потому что принадлежите к "эмаксерам", только Вы ещё сам об этом не знаете.

BOSS писал(а):
16.11.2015 00:28
Добавлю, что как только буду уверенно себя чувствовать без IDE - начну ей пользоваться.
Это да. Неоднократно встречал в статьях/книгах и прочих материалах такой тезис: прежде чем использовать автоматику (всякие там визарды, помощники, построители), надо научиться делать руками. То же самое можно сказать и про IDE.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: кто как кодит на с++

Сообщение NickLion »

Для обучения, обходиться без IDE — это правильно, но на более-менее крупных проектах, среда даёт преимущество. Я пользуюсь и vim, и QtCreator, что-то выбрасывать не собираюсь. И да, кстати, для привыкших к особенностям vim, вроде меня, QtCreator имеет режим эмуляции.
Спасибо сказали:
Аватара пользователя
minoru-kun
Сообщения: 620
ОС: Debian GNU/Linux

Re: кто как кодит на с++

Сообщение minoru-kun »

Использую продукты JetBrains для вопросов, связанных с изучением структуры проекта. Но непосредственно набирать код предпочитаю в (g)vim :)
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: кто как кодит на с++

Сообщение Hephaestus »

BOSS писал(а):
16.11.2015 00:28
PS2: Жестко смотрится, особенно для "невимщика" - http://unixforum.org/index.php?act=attach&type=post&id=5654 конфиг - Тонкая настройка vim
Я что-то не пойму: ссылка на картинку - это из той темы или это уже Ваша картинка - результат применения конфига?
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Tema
Сообщения: 143

Re: кто как кодит на с++

Сообщение Tema »

Hephaestus писал(а):
25.11.2015 12:17
Я что-то не пойму: ссылка на картинку - это из той темы или это уже Ваша картинка - результат применения конфига?

Это картинка из темы, на которую вы дали мне ссылку - IDE под Linux
Для меня, как "не-вимщика", подобный вид среды разработки немножко шокировал. Хотя сейчас у меня уже что-то похожее.
Моя сейчас выглядит вот так(из дома выглядит немного красивее, это я через ssh зашел):
vim.PNG

Я включил всё, что есть. обычно список буферов вызываю только для переключения. Структуру кода тоже только по необходимости. Ну и список ошибок так же.
Еще то, чего не видно: поддержка автодополнения, интеграция с git, cmake, gdb.
Пытаюсь постепенно перейти от visual studio, осталось только с gdb разобраться, остальное уже кое-как осилил.
Вот из дома:
screenshot.jpg
Спасибо сказали:
entada
Сообщения: 223
ОС: Debian stable, IceWM

Re: кто как кодит на с++

Сообщение entada »

А как же TheIDE (http://www.ultimatepp.org/www$uppweb$index$ru-ru.html)?

Не похожа на Code::Blocks/CodeLite/MS Visual Studio, но затягивает.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: кто как кодит на с++

Сообщение Hephaestus »

BOSS писал(а):
25.11.2015 15:54
Это картинка из темы, на которую вы дали мне ссылку
Гм.. Я так и не нашёл, к какому посту она прикреплена.
Дайте ссылку на пост, интересно глянуть.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: кто как кодит на с++

Сообщение Hephaestus »

BOSS писал(а):
25.11.2015 15:54
Для меня, как "не-вимщика"
Если Вы столь уверенный "не-вимщик", может быть, стоит всё-таки глянуть на emacs? Хотя бы в том смысле, что не vim'ом единым...?
Я-то пишу вслепую и для меня vim, который позволяет использовать клавиши практически без модификаторов - самое то.
А вот эмаксовские Ctrl+bla+bla+bla для слепой печати не подходят совсем никак - сбивают с ритма. Об этом мы уже тоже где-то тут спорили не так давно.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Tema
Сообщения: 143

Re: кто как кодит на с++

Сообщение Tema »

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: кто как кодит на с++

Сообщение Hephaestus »

BOSS писал(а):
26.11.2015 09:28
Если не составит труда, прошу покажите свой vimrc и список плагинов.
У меня всё стандартно, ничего особенного. Я прикручивал только проверку орфографии и подсветку синтаксиса для разных форматов.
Сейчас вот ещё прикрутил vimpager. Неплохая, вроде бы, штука, но не всегда работает так, как надо. А жаль.

Картинка, подобная той, что Вас "шокировала" как "не вимщика", меня когда-то привела в восторг.
И я даже пробовал что-то такое использовать. Не пошло. Что-то мне там не понравилось (какие-то детали, уже не помню), а переделывать - знаний не было.
Возможно, сейчас я дозрел. Надо будет пощупать.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Ответить