[TriLUG] Best IDE and version control for C and C++?

Thomas Delrue via TriLUG trilug at trilug.org
Fri Jun 2 22:06:11 EDT 2017


On 06/02/2017 09:21 PM, Ken M via TriLUG wrote:
> My default answer for all programming languages is emacs. After that
> there is always code::blocks

Pfff... y'all are a bunch of amateurs: https://xkcd.com/378 (*)

But seriously now though:
- What do you need from your IDE?
- Do you want it to be specific to C++ or do you want to be able to use
it as well for (future) components that are written in other languages?
- Do you just want color-coding?
- Do you want auto-complete and how intelligent do you want that to be?
- What about refactoring or built-in integration with unit testing?
- Do you want it to tie in with your build system and/or your code
coverage solution?
- Do you want to be able to commit from within the IDE or are external
tools fine?
- You're the only dev right now, but will there be more in the future?
- etc...
There's a bunch of questions that will guide you towards the solution
that is right for you...

From personal experience: I'll go right ahead and recommend Eclipse CDT
for C++ work.
I've been working in Eclipse for C++ development for a couple of years
now (set up with a couple of extensions to maximize my productivity). It
is/can be a bloated piece of work, but then again, unused RAM is wasted
RAM, amirite?

For source code control, I use Mercurial
(https://en.wikipedia.org/wiki/Mercurial) on command line as well as
through TortoiseHg (https://en.wikipedia.org/wiki/TortoiseHg). I like to
think of it as the user-friendly version of Git that gets out of my face
when I'm doing stuff.
I'm sure there is an Eclipse extension for it; I also do know that there
is a git extension (called EGit) for Eclipse.
The downside of picking Mercurial is that you'll need to jump through a
couple of hoops if you want to abuse and negate your nice distributed
source code control system into a centralized one by using GitHub
(sorry, I got distracted for a moment there, where was I...?)
Basically, anything that is a distributed source code control system
will work pretty well: git, mercurial, bazaar, ... take your pick, but
pick mercurial, seriously though... pick mercurial, you'll thank me later!

If all else fails, you can abandon Linux and install this operating
system called Emacs. I hear it comes with a relatively ok editor... ;)

For those recommending VSCode or Atom, it's been a while since I've
looked at them but do they have refactoring or auto-complete yet for C++
or are they still mostly/only for building websites/doing javascript?
What about proper build integration? Can I create a (C++) project and
set specific build options yet? If so, which extensions would I need.
I'm not trying to be facetious, just genuinely curious.

(*) https://en.wikipedia.org/wiki/Editor_wars

>> On Jun 2, 2017, at 9:18 PM, Mike Perry via TriLUG
>> <trilug at trilug.org> wrote:
>> 
>> NetBeans and Eclipse are decent choices. At work I've been using
>> Atom lately. I tend to bounce around a bit just to see different
>> things.
>> 
>> Even though it's not open source, I'm a big fan of Visual Studio
>> Code to be honest. It's free and pretty powerful.
>> https://code.visualstudio.com/ It's also available on most flavors
>> of Linux.
>> 
>> On Fri, Jun 2, 2017 at 8:05 PM, Charles Fischer via TriLUG < 
>> trilug at trilug.org> wrote:
>> 
>>> I have been away from Linux software development for too long.
>>> Much too long.  So what is considered the best open source IDE
>>> and version control system (integrated?) for C and C++
>>> development?
>>> 
>>> Information about the environment and the software being
>>> developed:  1) I am the only developer.  2) The software will be
>>> GPL licensed, not sure which version at this time.
>>> 
>>> Related question, what open source archival software do people
>>> like?


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://www.trilug.org/pipermail/trilug/attachments/20170602/950d670f/attachment.pgp>


More information about the TriLUG mailing list