Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Best C++ IDE

232 views
Skip to first unread message

Tanush Topia

unread,
Feb 28, 2017, 9:22:25 PM2/28/17
to
Hi all,

I'm a newbie to c++. Any IDE recommended to be used for C++?

signature.asc

Real Troll

unread,
Feb 28, 2017, 10:52:28 PM2/28/17
to
On 01/03/2017 02:21, Tanush Topia wrote:
> Hi all,
>
> I'm a newbie to c++. Any IDE recommended to be used for C++?
>
Visual Studio 2015. VS 2017 is coming out on 20th Anniversary date of:
March 7th 2017. join the party here:

<https://blogs.msdn.microsoft.com/visualstudio/2017/02/09/visual-studio-2017-launch-event-and-20th-anniversary/>

Use the community edition for free until you are happy with it.


Alf P. Steinbach

unread,
Mar 1, 2017, 12:31:46 AM3/1/17
to
On 3/1/2017 3:21 AM, Tanush Topia wrote:
>
> I'm a newbie to c++. Any IDE recommended to be used for C++?

It depends on your computer and possibly school requirements.

If you have a modern Windows PC (laptop) then Microsoft's Visual Studio
is in general outstandingly good compared to the competition, and it's
free except for larger firms. However while it sports a really good
debugger, probably the best, the user interface has steadily
deteriorated in a monotonically downhill devolution, since the late
1990's DevStudio 6.0: it looks ever more fancy, is ever more intrusive
and it's ever less supportive. That's totally baffling. The looks have
become so bad, e.g. with use of all uppercase, and at one point removal
of choice of color schemes, etc., that a large number of blog articles
about how to partially FIX it appeared. And regarding the intrusiveness
aspect, In 2005 Charles Petzold wrote a now classic article about it,
¹“Does Visual Studio Rot the Mind?”. So, when I write “outstanding”
about Visual Studio that's because the competition is not really in
competition. Making a generally usable IDE requires huge resources, and
Microsoft has them, but that doesn't mean good in an absolute sense: it
just means outstanding compared to the competition.

Anyway, look in Wikipedia, it has ²a reasonably up-to-date comparison of
a host of C++ IDE's.


Cheers & hth.,

- Alf

Links:
¹ <url: http://charlespetzold.com/etc/DoesVisualStudioRotTheMind.html>
² <url:
https://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#C.2FC.2B.2B>

Paavo Helde

unread,
Mar 1, 2017, 2:08:17 AM3/1/17
to
On 1.03.2017 7:31, Alf P. Steinbach wrote:
> On 3/1/2017 3:21 AM, Tanush Topia wrote:
>>
>> I'm a newbie to c++. Any IDE recommended to be used for C++?
>
> It depends on your computer and possibly school requirements.
>
> If you have a modern Windows PC (laptop) then Microsoft's Visual Studio
> is in general outstandingly good compared to the competition, and it's
> free except for larger firms. However while it sports a really good
> debugger, probably the best, the user interface has steadily
> deteriorated in a monotonically downhill devolution, since the late
> 1990's DevStudio 6.0: it looks ever more fancy, is ever more intrusive
> and it's ever less supportive. That's totally baffling. The looks have
> become so bad, e.g. with use of all uppercase, and at one point removal
> of choice of color schemes, etc., that a large number of blog articles
> about how to partially FIX it appeared.

Human mind has great capacity to adapt to all kind of crap, so one in
general gets used to font and color changes. I had to check my version
to see if I have menus in all-caps (yes I do), no idea about colors (and
don't care).

I guess I will only get irritated when they remove the menu altogether
and replace it with touch-screen buttons.

> And regarding the intrusiveness
> aspect, In 2005 Charles Petzold wrote a now classic article about it,
> ¹“Does Visual Studio Rot the Mind?”.

While this is an interesting read, it appears to mostly complain about
C# and its auto-generated crap. With C++ one can easily avoid all
auto-generation and any too aggressive IntelliSense fill-in can be tuned
down in the settings. Yes you need to know about that, and yes, most
beginners will erroneously assume that the auto-generated code is
actually an example of some great style which they should follow.


Johann Klammer

unread,
Mar 1, 2017, 2:48:37 AM3/1/17
to
On 03/01/2017 03:21 AM, Tanush Topia wrote:
> Hi all,
>
> I'm a newbie to c++. Any IDE recommended to be used for C++?
>
mc
g++
gdb
valgrind/--fsanitize=address,undefined
sysprof


Marcel Mueller

unread,
Mar 1, 2017, 2:49:03 AM3/1/17
to
On 01.03.17 03.21, Tanush Topia wrote:
> I'm a newbie to c++. Any IDE recommended to be used for C++?

Oh, let's get popcorn, this is likely to become a long thread with
fanboy wars. ;-)

Some already recommended VS2015. Well, it depends on what class
libraries you intend to use. In case of Windows only GUI executables you
probably won't come around it.
Otherweise I would not recommend VS for C++. Their compiler is not the
best regarding C++ standards. Furthermore other IDEs are usually a few
yeas ahead. And the VS brand is end of lifetime because of it's history.
It still does not support 64 bit natively and probably will never do.
The resulting 2GB limit causes memory issues and from time to time
crashes. Whether these issues are important to you is another question.

But have a look at Eclipse CDT. It is free and very powerful. One of the
benefits is that it supports several languages, so it is easier to
switch if required.


Marcel

Hergen Lehmann

unread,
Mar 1, 2017, 3:00:09 AM3/1/17
to
Am 01.03.2017 um 06:31 schrieb Alf P. Steinbach:

>> I'm a newbie to c++. Any IDE recommended to be used for C++?
>
> It depends on your computer and possibly school requirements.
>
> If you have a modern Windows PC (laptop) then Microsoft's Visual Studio
> is in general outstandingly good compared to the competition, and it's
> free except for larger firms. However while it sports a really good
> debugger, probably the best, the user interface has steadily
> deteriorated in a monotonically downhill devolution, since the late

Also, the compiler that does come with it is rather bad and still not
fully compliant to the current c++ standards. That will cause a few
headaches, especially for a beginner.

Personally, i use codeblocks in conjunction with the g++ and clang
compilers under linux. This is, however, not a good choice if you intend
to write windows GUI programs.

Hergen

Ian Collins

unread,
Mar 1, 2017, 3:02:50 AM3/1/17
to
On 03/ 1/17 08:50 PM, Hergen Lehmann wrote:
> Am 01.03.2017 um 06:31 schrieb Alf P. Steinbach:
>
>>> I'm a newbie to c++. Any IDE recommended to be used for C++?
>>
>> It depends on your computer and possibly school requirements.
>>
>> If you have a modern Windows PC (laptop) then Microsoft's Visual Studio
>> is in general outstandingly good compared to the competition, and it's
>> free except for larger firms. However while it sports a really good
>> debugger, probably the best, the user interface has steadily
>> deteriorated in a monotonically downhill devolution, since the late
>
> Also, the compiler that does come with it is rather bad and still not
> fully compliant to the current c++ standards. That will cause a few
> headaches, especially for a beginner.

That is no longer the case. VS2015 has excellent C++14 support (our
code is built with clang on Linux and VS on Windows).

--
Ian

Hergen Lehmann

unread,
Mar 1, 2017, 5:15:23 AM3/1/17
to
Am 01.03.2017 um 09:02 schrieb Ian Collins:

> That is no longer the case. VS2015 has excellent C++14 support

Even Microsoft does not claim full C++14 support for VS2015.

... and than there are those many little incompatibilities not mentioned
in any list. The last one i remember off the cuff were several missing
conversion specifiers in strftime, which are supposed to be available
since C++11.

> (our code is built with clang on Linux and VS on Windows).

I'm doing this, too. And still need several "#ifdef _MSC_VER" here and
there... :-(

Hergen


Bo Persson

unread,
Mar 1, 2017, 5:30:42 AM3/1/17
to
On 2017-03-01 11:11, Hergen Lehmann wrote:
> Am 01.03.2017 um 09:02 schrieb Ian Collins:
>
>> That is no longer the case. VS2015 has excellent C++14 support
>
> Even Microsoft does not claim full C++14 support for VS2015.

Excellent might not mean 100%. :-)

And we know that VS2017 is just one week away.

>
> ... and than there are those many little incompatibilities not mentioned
> in any list. The last one i remember off the cuff were several missing
> conversion specifiers in strftime, which are supposed to be available
> since C++11.

I wouldn't use strftime as the main point when selecting an IDE.

For a newbie, the integration of an excellent source level debugger
might be a lot more important. And there VS wins easily.


Bo Persson


JiiPee

unread,
Mar 1, 2017, 6:52:35 AM3/1/17
to
On 01/03/2017 02:21, Tanush Topia wrote:
> Hi all,
>
> I'm a newbie to c++. Any IDE recommended to be used for C++?
>

I think Visual Studio Community 2015 is the best. Although if you want
to use the latest C++ version (like 17) it might not have the latest
features. But it has C++11 and maybe some 14 as well which is fine for me.

Hergen Lehmann

unread,
Mar 1, 2017, 7:00:10 AM3/1/17
to
Am 01.03.2017 um 11:30 schrieb Bo Persson:

>> Even Microsoft does not claim full C++14 support for VS2015.
>
> Excellent might not mean 100%. :-)

When it comes to standards, "excellent" *requires* 100%, everything else
is a flawed product.

> And we know that VS2017 is just one week away.

Yeah. And at the end of the year it might be stable enough for actual use...

> I wouldn't use strftime as the main point when selecting an IDE.

That was just an "off the cuff" example, there are many others.
Especially in the stuff, C++ inherited from C.

As i'm currently bound to VS2013 in my main project due to some external
dependencies, i cannot easily present more examples, which are still
valid for VC2015 and it's compiler.

> For a newbie, the integration of an excellent source level debugger
> might be a lot more important. And there VS wins easily.

A good debugger does not help much, if example code copied from the book
simply does not compile correctly, the compiler throws unreasonable
errors/warnings at you, or the compiler documentation tells you to do
things in a wrong (proprietary) way.

When it comes to learning proper C++, i recommend clang for the
compiler. clang has very good standard compliance and provides some
features, which may be especially helpful for a C/C++ beginner
(AddressSanitizer!).

Hergen

Alf P. Steinbach

unread,
Mar 1, 2017, 8:06:39 AM3/1/17
to
On 3/1/2017 12:55 PM, Hergen Lehmann wrote:
>
> When it comes to learning proper C++, i recommend clang for the
> compiler. clang has very good standard compliance and provides some
> features, which may be especially helpful for a C/C++ beginner
> (AddressSanitizer!).

How about exceptions, do they work with clang in Windows yet?

I think it's important to learn about failure handling early on.

I haven't checked the details of clang in a year or two now, so I don't
know, but last I checked it still didn't support exceptions.

In the other direction, Visual Studio supports clang.

But I haven't tried that, mostly because clang has had and possibly
still has this ¹show-stopper lack of exception handling.

Cheers!,

- Alf


Notes:
¹ Hence my often pretend misreading of the name as “dang”. :-)

Scott Lurndal

unread,
Mar 1, 2017, 8:42:39 AM3/1/17
to
Tanush Topia <imei...@gmail.com> writes:
e
>
>Hi all,
>
>I'm a newbie to c++. Any IDE recommended to be used for C++?
>

A good shell, a good editor, cscope, gdb and the gnu compiler
collection or clang.

Unlike a graphics-heavy IDE, one can use the above tools to develop
software remotely (e.g. over secure shell and low-speed network
connection) if required.

Cholo Lennon

unread,
Mar 1, 2017, 9:48:41 AM3/1/17
to
C'mon, you know that those tools are not for newbies (and Midnight
Commander is not and IDE, even with its CTRL+O option to switch between
its GUI and command line)

Regards

--
Cholo Lennon
Bs.As.
ARG

Moai

unread,
Mar 1, 2017, 10:17:36 AM3/1/17
to
On 2017-02-28 21:21, Tanush Topia wrote:
> Hi all,
>
> I'm a newbie to c++. Any IDE recommended to be used for C++?
>
In the past, there was a very famous and popular IDE called Unix.
Modern equivalents include FreeBSD, OpenBSD, GNU/Linux, and such.
Their tools include
vi, a text editor
gcc or clang, C++ compilers
ctags, a program that creates tags of your programs, though most ctags
implementations only support C, not C++

Scott Lurndal

unread,
Mar 1, 2017, 10:38:26 AM3/1/17
to
Cholo Lennon <cholo...@hotmail.com> writes:
>On 01/03/17 05:03, Johann Klammer wrote:
>> On 03/01/2017 03:21 AM, Tanush Topia wrote:
>>> Hi all,
>>>
>>> I'm a newbie to c++. Any IDE recommended to be used for C++?
>>>
>> mc
>> g++
>> gdb
>> valgrind/--fsanitize=address,undefined
>> sysprof
>>
>>
>
>C'mon, you know that those tools are not for newbies

Newbies have used these tools for decades.

Cholo Lennon

unread,
Mar 1, 2017, 11:21:01 AM3/1/17
to
Typical comment from a "caveman geek" (men/women who think a
console+vim/emac+gdb+compiler is all you need). I use Linux/Solaris
everyday at work and home and I have been programming on Windows for
about 25 years, so I know very well the console and the IDE workflows
... IMO, from the newbie point of view, you can't compare VS or any
other IDE with gcc+gdb! Debugging (*) with gdb is not the best
experience (awful IMHO), even for advanced users.

(*) a central activity for newbies

Jorgen Grahn

unread,
Mar 1, 2017, 12:37:18 PM3/1/17
to
On Wed, 2017-03-01, Scott Lurndal wrote:
> Tanush Topia <imei...@gmail.com> writes:
> e
>>
>>Hi all,
>>
>>I'm a newbie to c++. Any IDE recommended to be used for C++?
>>
>
> A good shell, a good editor, cscope, gdb and the gnu compiler
> collection or clang.

(And git for version control, and make for building.)

+1. Also known as "Unix". For an editor I personally use Emacs (with
a recent cc-mode to get C++11 support).

I've seen others use and apparently enjoy CLion (which is an IDE in
the traditional sense, and costs money). I don't see that it helps
them become more productive, though; for the uses I've seen it seems
roughly equivalent to Emacs or Vim.

> Unlike a graphics-heavy IDE, one can use the above tools to develop
> software remotely (e.g. over secure shell and low-speed network
> connection) if required.

Plus, the techniques you learn to use aren't limited to C++, or even
to programming.

/Jorgen

--
// Jorgen Grahn <grahn@ Oo o. . .
\X/ snipabacken.se> O o .

Jorgen Grahn

unread,
Mar 1, 2017, 12:42:15 PM3/1/17
to
On Wed, 2017-03-01, Moai wrote:
> On 2017-02-28 21:21, Tanush Topia wrote:
>> Hi all,
>>
>> I'm a newbie to c++. Any IDE recommended to be used for C++?
>>
> In the past, there was a very famous and popular IDE called Unix.
...
> ctags, a program that creates tags of your programs, though most ctags
> implementations only support C, not C++

The implementations I know support C++, but don't do it very well.
I happily use ctags with C++, but don't expect it to work well with
overloaded names. This limitation is annoying, but doesn't make ctags
useless.

Alan Mackenzie

unread,
Mar 1, 2017, 12:52:42 PM3/1/17
to
Hello, Hergen.

Just a linguistic point.

Hergen Lehmann <hlehmann.e...@snafu.de> wrote:

[ .... ]

> When it comes to learning proper C++, i recommend clang for the
> compiler. clang has very good standard compliance and provides some
> features, which may be especially helpful for a C/C++ beginner
^

> (AddressSanitizer!).

That comma is not what you meant to write. English and German differ
here, the comma being obligatory in German. In English, it is optional,
and actually changes the meaning of the sentence. What you have
actually written is equivalent to:

clang ... provides some features. These may be especially helpful
for a C/C++ beginninr.

Well, all compilers provide some features. ;-) Without that comma, the
sentence would be equivalent to:

clang ... provides some especially helpful features for a C/C++
beginner.

, which is probably what you meant.

Also - I _know_ about speaking and writing difficult foreign languages.
;-(

> Hergen

--
Alan Mackenzie (Nuremberg, Germany).

Manfred

unread,
Mar 1, 2017, 12:56:44 PM3/1/17
to
On 3/1/2017 3:21 AM, Tanush Topia wrote:
> Hi all,
>
> I'm a newbie to c++. Any IDE recommended to be used for C++?
>
If you are under Windows, then others have already given some indication.
I will add something if you are using or intend to use Linux (I am
surprised not many showed up here)
On this platform gcc is obviously an excellent compiler (probabaly clang
too), and its standard conformance is much better than Microsoft's.
Specifically about IDEs, I mostly use Eclipse for regular projects.
For tiny projects I would mention Komodo has a reasonably usable editor too.

Ian Collins

unread,
Mar 1, 2017, 2:05:02 PM3/1/17
to
On 03/ 1/17 11:11 PM, Hergen Lehmann wrote:
> Am 01.03.2017 um 09:02 schrieb Ian Collins:
>
>> That is no longer the case. VS2015 has excellent C++14 support
>
> Even Microsoft does not claim full C++14 support for VS2015.
>
> .... and than there are those many little incompatibilities not mentioned
> in any list. The last one i remember off the cuff were several missing
> conversion specifiers in strftime, which are supposed to be available
> since C++11.

The lack of C99 support is the compiler's main weakness. This goes back
to Microsoft's unfortunate disregard for C and is probably due to the
lack of C99 support in the system libraries.

A C++ beginner probably won't encounter too many of these and the
quality of the IDE (modulo it's awful build system) is still sufficient
to justify a recommendation.

VS has one huge advantage over the likes of Eclipse or NetBeans: it
isn't written in (spit) Java :)

>> (our code is built with clang on Linux and VS on Windows).
>
> I'm doing this, too. And still need several "#ifdef _MSC_VER" here and
> there... :-(

Here to, mainly for silencing warnings...

--
Ian

David Brown

unread,
Mar 1, 2017, 3:09:46 PM3/1/17
to
The OP posted from Linux, so it's a fair bet he/she is going to be using
Linux for programming.

Yes, gcc is the obvious choice of compiler - clang and icc might be fun
to play with, but gcc is the norm and is probably the best in terms of
solid code generation, top-class standards conformance, static warnings,
and extra extensions for those that like that sort of thing (they can
improve your code, at the cost of reducing portability).

As for IDEs, I agree that Eclipse is the "big" one - it has a lot of
functionality, though it is quite demanding on resources. Netbeans is
another choice that comes recommended.


Manfred

unread,
Mar 1, 2017, 4:31:45 PM3/1/17
to
On 03/01/2017 09:09 PM, David Brown wrote:
>> Specifically about IDEs, I mostly use Eclipse for regular projects.
>> For tiny projects I would mention Komodo has a reasonably usable editor
>> too.
>
<snip>
> As for IDEs, I agree that Eclipse is the "big" one - it has a lot of
> functionality, though it is quite demanding on resources. Netbeans is
> another choice that comes recommended.
Tried Netbeans as well, but IME, although both are coded in Java, it was
significantly more demanding than Eclipse.
(the other I mentioned, komodo, even if not comparable in functionality,
is coded in C++ and does not suffer from these issues)

Vir Campestris

unread,
Mar 1, 2017, 4:33:58 PM3/1/17
to
On 01/03/2017 07:48, Marcel Mueller wrote:
> But have a look at Eclipse CDT. It is free and very powerful. One of the
> benefits is that it supports several languages, so it is easier to
> switch if required.

I use Eclipse - but for me it isn't an IDE, just a good editor. I'm
building Android kernel stuff (mostly C :( ) and the build system isn't
compatible with Eclipse - or AFAIK any other IDE.

I miss Visual Studio.

Andy

red floyd

unread,
Mar 1, 2017, 4:37:00 PM3/1/17
to
Anyone use Code::Blocks (or whatever its successor is)?

Paavo Helde

unread,
Mar 1, 2017, 4:55:56 PM3/1/17
to
Unfortunately yes. Most of our C++ development happens on Windows so it
is a bit unclear why our Linux builds are using C::B. Anyway, it crashes
about half of times when doing automated builds, and typically freezes
when I try to debug with it. So whenever there are problems in our Linux
build I use Emacs and gdb instead. C::B's only useful feature was to
find the first g++ error in the pile of warnings, but lately we have
succeeded in cutting down the amount of warnings so it's not so
important any more.

We are planning to switch back to plain make, but lacking manpower to
make changes.

Bo Persson

unread,
Mar 1, 2017, 5:34:36 PM3/1/17
to
Some of us have our own PC and don't need remote shell access.
Especially not newbies.



Bo Persson

Scott Lurndal

unread,
Mar 1, 2017, 6:38:06 PM3/1/17
to
Bo Persson <b...@gmb.dk> writes:
> Thunderbird/45.7.1
>In-Reply-To: <adAtA.20419$eM7....@fx14.iad>
>X-Received-Body-CRC: 2701701775
>X-Received-Bytes: 1402
That's nice. You did, of course, note the "if required".

Richard

unread,
Mar 1, 2017, 6:58:56 PM3/1/17
to
[Please do not mail me a copy of your followup]

Tanush Topia <imei...@gmail.com> spake the secret code
<o95b8n$6go$1...@adenine.netfront.net> thusly:

>I'm a newbie to c++. Any IDE recommended to be used for C++?

I've used a bunch of them over the many years I've been writing C++.

For me, what makes one IDE more useful then another is a matter of how
productive can I be in one IDE vs. another. I'm willing to learn an
"IDEs way of doing things" in order to gain that productivity. In
other words, I don't try to turn Linux into Windows and vice-versa
while working in those environments.

My own brief history of C++ development environments I've used:
- vi/emacs + make
- SGI IDE (can't remember the name.. CASEVision?)
- VC6 on Windows
- VS on Windows[*]
- Xcode on Mac
- CLion on Mac/Linux[*]
[*] what I use currently

For Linux, nothing I've evaluated so far beats CLion. Eclipse? It
doesn't even come close. If you're writing only Mac/iOS applications,
then AppCode might be a better fit. CLion's build system is CMake and
uses whatever compiler is installed (gcc or clang).

For Windows, then Visual Studio plus ReSharper for C++ is the best.
Again, nothing else even comes close. Other replies on the thread
complain about standards compliance in the cmopiler, but with the most
recent compiler you are unlikely to have any problems with modern C++.
(C runtime library? Why are you using that?) VS has its own build
system just like Xcode has its own build system. If you don't want to
invest in learning a build system specific to an IDE, then learn CMake
and have CMake generate VS projects.

VS Community Edition is free and comes with no restrictions.
ReSharper for C++ is a paid add-on but you can evaluate it for
something like 30 days.

CLion is not free, but it also has a free evaluation period. It is
well worth the money unless you only write C++ code infrequently.

Command-line tools like vi, make, and gdb don't even come close to the
productivity that can be had in an IDE if you learn how to use the
IDE. If you just use the IDE as an editor and "start build" program,
then you are unlikely to see much gains in productivity. However,
this is missing the point of an IDE if that's all you use it for.
You're completely missing the "I" in IDE if you don't learn how to use
it to your advantage.
--
"The Direct3D Graphics Pipeline" free book <http://tinyurl.com/d3d-pipeline>
The Terminals Wiki <http://terminals-wiki.org>
The Computer Graphics Museum <http://computergraphicsmuseum.org>
Legalize Adulthood! (my blog) <http://legalizeadulthood.wordpress.com>

Tanush Topia

unread,
Mar 1, 2017, 7:37:09 PM3/1/17
to
On 02/28/2017 09:21 PM, Tanush Topia wrote:
> Hi all,
>
> I'm a newbie to c++. Any IDE recommended to be used for C++?
>

I am using Linux Arch, if that's of any help. And the PC is a Thinkpad 440P.

-Tanush T.

signature.asc

Richard

unread,
Mar 1, 2017, 8:02:04 PM3/1/17
to
[Please do not mail me a copy of your followup]

Marcel Mueller <news.5...@spamgourmet.org> spake the secret code
<o95ud8$ijj$2...@gwaiyur.mb-net.net> thusly:

>Otherweise I would not recommend VS for C++. Their compiler is not the
>best regarding C++ standards.

It sounds like you haven't kept up on the state of the compiler. All
C++11 and C++14 required features are in the compiler AFAIK. See
<http://en.cppreference.com/w/cpp/compiler_support>. The only thing
in red is the optional garbage collection support. The bottom of that
page contains links to the various VS blog posts describing the
support in detail.

>Furthermore other IDEs are usually a few
>yeas ahead.

VS has been getting updated on a roughly quarterly schedule for a
number of years now. Again, I think your information is stale.

>And the VS brand is end of lifetime because of it's history.
>It still does not support 64 bit natively and probably will never do.
>The resulting 2GB limit causes memory issues and from time to time
>crashes. Whether these issues are important to you is another question.

On this I agree. With ReSharper for C++ (R++) and with a large solution
I can bump into the process address space limit. However, it is large
address aware, so 2 GB is not the limit imposed if you're using a more
modern version of Windows.

>But have a look at Eclipse CDT. It is free and very powerful. One of the
>benefits is that it supports several languages, so it is easier to
>switch if required.

Having tried Eclipse several times, I gave up on it. The refactoring
support is weaker than R++ and it isn't going to work with VS
projects, which is very common for OSS projects on Windows.

VS Community Edition is free and not limited in any way as far as the
compiler/linker/etc goes.

Richard

unread,
Mar 1, 2017, 8:02:43 PM3/1/17
to
[Please do not mail me a copy of your followup]

penultim...@gmail.com spake the secret code
<o96oic$a6e$1...@nearlythere.eternal-september.org> thusly:

>In the past, there was a very famous and popular IDE called Unix.

As much as I like unix, it isn't an IDE. If you think it is, then you
don't know what an IDE is or haven't used it for more than editing and
"run a build".

Richard

unread,
Mar 1, 2017, 8:03:40 PM3/1/17
to
[Please do not mail me a copy of your followup]

Manfred <non...@invalid.add> spake the secret code
<o9720g$11hb$1...@gioia.aioe.org> thusly:

>On this platform gcc is obviously an excellent compiler (probabaly clang
>too), and its standard conformance is much better than Microsoft's.

Sorry, this hasn't been true for a while now. Update your information
on VC.

>Specifically about IDEs, I mostly use Eclipse for regular projects.

VS is better on Windows. CLion/AppCode is better on Linux/Mac.

Ian Collins

unread,
Mar 1, 2017, 9:03:09 PM3/1/17
to
Like most things is software development, there isn't a best. Try the
popular IDEs suggested hare and find the one that works best for you.

--
Ian

Moai

unread,
Mar 1, 2017, 10:55:04 PM3/1/17
to
On 2017-03-01 20:02, Richard wrote:
> [Please do not mail me a copy of your followup]
>
> penultim...@gmail.com spake the secret code
> <o96oic$a6e$1...@nearlythere.eternal-september.org> thusly:
>
>> In the past, there was a very famous and popular IDE called Unix.
>
> As much as I like unix, it isn't an IDE. If you think it is, then you
> don't know what an IDE is or haven't used it for more than editing and
> "run a build".
>
One of Unix's main purposes, when it was made, was to enable programming
and to have many tools for programming. It is a modular (rather than
monolithic) IDE.
I've used some monolithic IDEs before in the past.

Moai

unread,
Mar 1, 2017, 10:58:41 PM3/1/17
to
On 2017-03-01 18:58, Richard wrote:
> CLion is not free, but it also has a free evaluation period. It is
> well worth the money unless you only write C++ code infrequently.
How can you even use CLion if you can't compile it?

Melzzzzz

unread,
Mar 2, 2017, 3:41:45 AM3/2/17
to
On 2017-03-01, Tanush Topia <imei...@gmail.com> wrote:
>
> I'm a newbie to c++. Any IDE recommended to be used for C++?
>
>
Try perhaps kdevelop or qtcreator if you are using qt, it is nice for
that toolkit. Gnome also have Builder which is still in development but
nice. There is also Anjuta which is GTK+ centric.

--
press any key to continue or any other to quit...

David Brown

unread,
Mar 2, 2017, 3:59:33 AM3/2/17
to
On 02/03/17 03:02, Ian Collins wrote:
> On 03/ 2/17 01:36 PM, Tanush Topia wrote:
>> On 02/28/2017 09:21 PM, Tanush Topia wrote:
>>> Hi all,
>>>
>>> I'm a newbie to c++. Any IDE recommended to be used for C++?
>>>
>>
>> I am using Linux Arch, if that's of any help. And the PC is a Thinkpad
>> 440P.
>

If you are using a laptop (I'm guessing the Thinkpad 440P is a laptop),
then considerations like efficient use of screen space are going to be
much more important than they would be for a desktop user with two large
monitors. You might also prefer a "lighter" IDE that is more
battery-friendly, rather than a heavyweight one.

> Like most things is software development, there isn't a best. Try the
> popular IDEs suggested hare and find the one that works best for you.
>

Absolutely. And "best" is often just "the IDE I use most, and therefore
can use fastest". For me, that's eclipse - but I also do some work with
gedit, and sometimes nano. The "best" varies according to circumstances.

Cholo Lennon

unread,
Mar 2, 2017, 7:40:24 AM3/2/17
to
You can add your own Build Configuration (to Eclipse CDT project), that
in turn it has its own build command; just invoke your kernel build
command here. Right now I'm using Eclipse with make, makepp and CMake
(make/ninja generators) by the way.

>
> I miss Visual Studio.
>

Well VS has a better debugger (the best IMO), but Eclipse CDT is more
powerful when managing projects

> Andy

Scott Lurndal

unread,
Mar 2, 2017, 8:24:29 AM3/2/17
to
legaliz...@mail.xmission.com (Richard) writes:
>[Please do not mail me a copy of your followup]
>
>penultim...@gmail.com spake the secret code
><o96oic$a6e$1...@nearlythere.eternal-september.org> thusly:
>
>>In the past, there was a very famous and popular IDE called Unix.
>
>As much as I like unix, it isn't an IDE. If you think it is, then you
>don't know what an IDE is or haven't used it for more than editing and
>"run a build".

Early on, unix had a PWB variant (Programmers Workbench). I'd
call that the first integrated development environment.

Richard

unread,
Mar 2, 2017, 12:30:21 PM3/2/17
to
[Please do not mail me a copy of your followup]

penultim...@gmail.com spake the secret code
<o984up$ogo$1...@nearlythere.eternal-september.org> thusly:
Preaching to the choir. I've been using unix since the late 1970s.

As I said, as much as I like unix it isn't an IDE. Unix has many
tools that I like, but it isn't an IDE. Most linux programmers I have
observed barely scratch the surface of what is provided in linux
(or hell, even in vim) anyway.

Richard

unread,
Mar 2, 2017, 12:31:05 PM3/2/17
to
[Please do not mail me a copy of your followup]

penultim...@gmail.com spake the secret code
<o9855l$ogo$2...@nearlythere.eternal-september.org> thusly:
There's this new thing called the internet that allows you to obtain
executable files.

Real Troll

unread,
Mar 2, 2017, 1:06:08 PM3/2/17
to
On 01/03/2017 02:21, Tanush Topia wrote:
> Hi all,
>
> I'm a newbie to c++. Any IDE recommended to be used for C++?
>

As you are a newbie, it doesn't matter what you use as long as you can
find books for that IDE and so on that point and that point only
Microsoft's Visual Studio comes out on top.

You need to prepare for the job market and so be able to create some
good programs with good user interface. I doubt if any of the compilers
out there can compete with Visual Studio or Embarcadero
<https://www.embarcadero.com/products/cbuilder> C++ Builder. These
products have tools to create UI.


Scott Lurndal

unread,
Mar 2, 2017, 1:36:31 PM3/2/17
to
legaliz...@mail.xmission.com (Richard) writes:
>[Please do not mail me a copy of your followup]
>
>penultim...@gmail.com spake the secret code
><o9855l$ogo$2...@nearlythere.eternal-september.org> thusly:
>
>>On 2017-03-01 18:58, Richard wrote:
>>> CLion is not free, but it also has a free evaluation period. It is
>>> well worth the money unless you only write C++ code infrequently.
>>How can you even use CLion if you can't compile it?
>
>There's this new thing called the internet that allows you to obtain
>executable files.

"allows you to obtain malware-laden executable files"

Ian Collins

unread,
Mar 2, 2017, 2:09:40 PM3/2/17
to
On 03/ 2/17 12:58 PM, Richard wrote:
>
> CLion is not free, but it also has a free evaluation period. It is
> well worth the money unless you only write C++ code infrequently.

I had a look based on your recommendation. It looks like a decent tool,
but it appears to be inextricably coupled to cmake which is awkward if
you have an existing projects that use a different build process.

--
Ian

Vir Campestris

unread,
Mar 2, 2017, 4:14:20 PM3/2/17
to
On 02/03/2017 12:40, Cholo Lennon wrote:
>
> You can add your own Build Configuration (to Eclipse CDT project), that
> in turn it has its own build command; just invoke your kernel build
> command here. Right now I'm using Eclipse with make, makepp and CMake
> (make/ninja generators) by the way.

Android NDK builds require you to execute lunch once in the shell, then
mm for the module you are interested in.

Lunch takes a long time. I haven't timed it, but I think getting on for
a minute. I don't want that before every build. mm usually takes a few
seconds.

Andy

Vir Campestris

unread,
Mar 2, 2017, 4:18:38 PM3/2/17
to
Are you suggesting that the downloads on JetBrains' web site have
malware in them?

There are binaries there for Windows, and something for Linux. At 270Mb
for a .tar.gz it's too big for me to download and look in (1), but I
suspect it is a binary too.

Andy
--
BT say I'll get decent internet next month. That's a major improvement
on next year that they've promised three times before...

Richard

unread,
Mar 2, 2017, 7:58:48 PM3/2/17
to
[Please do not mail me a copy of your followup]

Ian Collins <ian-...@hotmail.com> spake the secret code
<ehr8ur...@mid.individual.net> thusly:
Yes, that is the biggest shortcoming for CLion at the moment. It does
well on refactoring, however:
<https://github.com/LegalizeAdulthood/refactor-test-suite/blob/master/SummaryResults.md>
I haven't rerun the tests on the latest build (it's been over a year
since I ran the test suite), so their support is certainly better now.

That alone could be the deciding factor for some people; automated
high quality refactoring tools can make the difference between code
that gets incrementally messier and code that gets incrementally
cleaner over time.

CMake continues to gain traction for builds over time and it isn't
hard to convert a reasonably sized code base to CMake. (I've done it
a couple of times now for ~1M LOC code bases.) YMMV.

Richard

unread,
Mar 2, 2017, 8:01:01 PM3/2/17
to
[Please do not mail me a copy of your followup]

Vir Campestris <vir.cam...@invalid.invalid> spake the secret code
<G6ydnW4pqsq5ESXF...@brightview.co.uk> thusly:

>>[idiot says something on the internet]
>Are you suggesting that the downloads on JetBrains' web site have
>malware in them?

No, he's just being a retard. The JetBrains distributions do not have
malware.

Ian Collins

unread,
Mar 2, 2017, 8:06:53 PM3/2/17
to
On 03/ 3/17 01:58 PM, Richard wrote:
> [Please do not mail me a copy of your followup]
>
> Ian Collins <ian-...@hotmail.com> spake the secret code
> <ehr8ur...@mid.individual.net> thusly:
>
>> On 03/ 2/17 12:58 PM, Richard wrote:
>>>
>>> CLion is not free, but it also has a free evaluation period. It is
>>> well worth the money unless you only write C++ code infrequently.
>>
>> I had a look based on your recommendation. It looks like a decent tool,
>> but it appears to be inextricably coupled to cmake which is awkward if
>> you have an existing projects that use a different build process.
>
> Yes, that is the biggest shortcoming for CLion at the moment. It does
> well on refactoring, however:
> <https://github.com/LegalizeAdulthood/refactor-test-suite/blob/master/SummaryResults.md>
> I haven't rerun the tests on the latest build (it's been over a year
> since I ran the test suite), so their support is certainly better now.

How easy would it be to apply your refactoring test suite to another IDE
(my experience with NetBeans is it works slightly better than VS2015)?

> That alone could be the deciding factor for some people; automated
> high quality refactoring tools can make the difference between code
> that gets incrementally messier and code that gets incrementally
> cleaner over time.

I agree, that was one of the reasons I tried it.

> CMake continues to gain traction for builds over time and it isn't
> hard to convert a reasonably sized code base to CMake. (I've done it
> a couple of times now for ~1M LOC code bases.) YMMV.

We use ninja+premake, so converting wouldn't be too hard (but time
consuming) if there weren't any adverse impacts on build time...

--
Ian

Moai

unread,
Mar 3, 2017, 4:11:11 AM3/3/17
to
On 2017-03-02 12:30, Richard wrote:
> [Please do not mail me a copy of your followup]
>
> penultim...@gmail.com spake the secret code
> <o9855l$ogo$2...@nearlythere.eternal-september.org> thusly:
>
>> On 2017-03-01 18:58, Richard wrote:
>>> CLion is not free, but it also has a free evaluation period. It is
>>> well worth the money unless you only write C++ code infrequently.
>> How can you even use CLion if you can't compile it?
>
> There's this new thing called the internet that allows you to obtain
> executable files.
>
Oh... so you meant you can't use it, unless you specifically use the
exact software and hardware platforms it was compiled for.
It's unusable unless those conditions are met.

Manfred

unread,
Mar 3, 2017, 10:57:51 AM3/3/17
to
On 3/2/2017 2:03 AM, Richard wrote:
> Manfred <non...@invalid.add> spake the secret code
> <o9720g$11hb$1...@gioia.aioe.org> thusly:
>
>> On this platform gcc is obviously an excellent compiler (probabaly clang
>> too), and its standard conformance is much better than Microsoft's.
> Sorry, this hasn't been true for a while now. Update your information
> on VC.
>
A couple of examples:
issue 1 (MFC):
Look at the current implementation of MFC CArray::SetSize

A library that copies C++ objects via memcpy is IMHO not the best
available out there. (BTW this has been there since the beginning of
time, but it is to be noted that this behaviour is now specified in the
official documentation)

issue 2 (std::thread):
adapted from https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68784
[code]
#include <iostream>
#include <unordered_map>
#include <thread>
#include <mutex>

// note the ht argument explicitly passed by reference
void thread_add(std::unordered_map<int, int>& ht, int from, int to)
{
for (int i = from; i <= to; ++i)
{
static std::mutex mtx;
std::unique_lock<std::mutex> lck(mtx);
ht.insert(std::unordered_map<int, int>::value_type(i, 0));
}
}

int main()
{
std::unordered_map<int, int> ht;
std::thread t[2];

t[0] = std::thread(thread_add, ht, 0, 9); // should be std::ref(ht)
t[1] = std::thread(thread_add, ht, 10, 19); // same here

t[0].join();
t[1].join();

std::cout << "size: " << ht.size() << std::endl;
}
[/code]

Note that this code contains an error: in order to pass arguments to
std::thread by reference the standard /requires/ usage of std::ref.
gcc correctly issues a compilation error, compiles and runs OK with
std::ref in place.
VS2015 compiles cleanly /without/ std::ref, and at runtime it silently
reports the /incorrect/ result:
size: 0

IMHO this kind of issues /do/ matter if you are a newbie (actually they
do matter if you are an experienced programmer as well, but in this case
they probably only cost you time, and do not affect your results)

Cholo Lennon

unread,
Mar 3, 2017, 11:32:06 AM3/3/17
to
On 03/03/2017 12:57 PM, Manfred wrote:
> On 3/2/2017 2:03 AM, Richard wrote:
>> Manfred <non...@invalid.add> spake the secret code
>> <o9720g$11hb$1...@gioia.aioe.org> thusly:
>>
>>> On this platform gcc is obviously an excellent compiler (probabaly clang
>>> too), and its standard conformance is much better than Microsoft's.
>> Sorry, this hasn't been true for a while now. Update your information
>> on VC.
>>
> A couple of examples:
> issue 1 (MFC):
> Look at the current implementation of MFC CArray::SetSize
>
> A library that copies C++ objects via memcpy is IMHO not the best
> available out there. (BTW this has been there since the beginning of
> time, but it is to be noted that this behaviour is now specified in the
> official documentation)

Well, you can't use MFC as an example! MFC is an ancient library (almost
deprecated) that is not maintained by the same group that develops the
compiler or the C++ library.
All compilers have bugs, just check https://gcc.gnu.org/bugzilla/

Richard

unread,
Mar 3, 2017, 12:51:26 PM3/3/17
to
[Please do not mail me a copy of your followup]

Manfred <non...@invalid.add> spake the secret code
<o9c3pj$1gq0$1...@gioia.aioe.org> thusly:

>On 3/2/2017 2:03 AM, Richard wrote:
>> Manfred <non...@invalid.add> spake the secret code
>> <o9720g$11hb$1...@gioia.aioe.org> thusly:
>>
>>> On this platform gcc is obviously an excellent compiler (probabaly clang
>>> too), and its standard conformance is much better than Microsoft's.
>> Sorry, this hasn't been true for a while now. Update your information
>> on VC.
>>
>A couple of examples:
>issue 1 (MFC):
>Look at the current implementation of MFC CArray::SetSize

Since when is MFC part of the C++ standard?

>issue 2 (std::thread):
>adapted from https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68784

>Note that this code contains an error: in order to pass arguments to
>std::thread by reference the standard /requires/ usage of std::ref.
>gcc correctly issues a compilation error, compiles and runs OK with
>std::ref in place.
>VS2015 compiles cleanly /without/ std::ref, and at runtime it silently
>reports the /incorrect/ result:
>size: 0

Since when is the standard requiring that you emit an error in this
case?

I'm not saying the behavior of emitting an error isn't desirable.

Your claim was that the compiler wasn't standards compliant and you
dredge up two examples that aren't covered by the standard.

Richard

unread,
Mar 3, 2017, 12:53:19 PM3/3/17
to
[Please do not mail me a copy of your followup]

penultim...@gmail.com spake the secret code
<o9bbrh$b1u$2...@nearlythere.eternal-september.org> thusly:
You are intentionally trying to make a problem where none exists.

Have you even tried it? Did you even google "CLion requirements"?
<https://www.jetbrains.com/help/clion/2016.3/requirements-for-clion.html>

No, you didn't. You're just armchair posturing about something you
don't know anything about.

Richard

unread,
Mar 3, 2017, 12:56:37 PM3/3/17
to
[Please do not mail me a copy of your followup]

Ian Collins <ian-...@hotmail.com> spake the secret code
<ehrtt3...@mid.individual.net> thusly:

>On 03/ 3/17 01:58 PM, Richard wrote:
><https://github.com/LegalizeAdulthood/refactor-test-suite/blob/master/SummaryResults.md>
>> I haven't rerun the tests on the latest build (it's been over a year
>> since I ran the test suite), so their support is certainly better now.
>
>How easy would it be to apply your refactoring test suite to another IDE
>(my experience with NetBeans is it works slightly better than VS2015)?

I run the tests by hand, which is why I don't slavishly rerun all the
tests for every new build. I haven't found a reliable way (except
for clang-tidy which is batch oriented anyway) to run the tests in an
automated way.

So, difficulty level is easy, but tedium/annoyance level is high.

I encourage proponents of other IDEs to run the test suite and make a
pull request with the results (hint hint :). Even partial results for
Rename, Extract Function/Method are useful since that is what you do
most of the time.

>> CMake continues to gain traction for builds over time and it isn't
>> hard to convert a reasonably sized code base to CMake. (I've done it
>> a couple of times now for ~1M LOC code bases.) YMMV.
>
>We use ninja+premake, so converting wouldn't be too hard (but time
>consuming) if there weren't any adverse impacts on build time...

CMake supports ninja as a project generator.

Manfred

unread,
Mar 3, 2017, 2:43:22 PM3/3/17
to
On 3/3/2017 6:51 PM, Richard wrote:
> [Please do not mail me a copy of your followup]
>
> Manfred <non...@invalid.add> spake the secret code
> <o9c3pj$1gq0$1...@gioia.aioe.org> thusly:
>
<snip>
>>>
>> A couple of examples:
>> issue 1 (MFC):
>> Look at the current implementation of MFC CArray::SetSize
>
> Since when is MFC part of the C++ standard?
This example is obviously primarily about quality of library code
(shipped with VC).
Nevertheless it easy to see that copying objects of class type via
memcpy is in general a standard violation - you can't copy objects
without invoking copy constructors, right?

>
>> issue 2 (std::thread):
>> adapted from https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68784
>
>> Note that this code contains an error: in order to pass arguments to
>> std::thread by reference the standard /requires/ usage of std::ref.
>> gcc correctly issues a compilation error, compiles and runs OK with
>> std::ref in place.
>> VS2015 compiles cleanly /without/ std::ref, and at runtime it silently
>> reports the /incorrect/ result:
>> size: 0
>
> Since when is the standard requiring that you emit an error in this
> case?
If you read n4...@30.3.1.2 (thread constructors) you see that the
function arguments are rvalue references (on purpose).
If you read n4296@4.1 (lvalue to rvalue conversion) you see that (clause
2.4) the rvalue references passed to the thread constructor are
/prvalues/ for temporaries (thus _not_ lvalues)
If you read n4...@8.5.3 (References) you see that /only/ const
references (clause 5.2) can be bound to prvalues. Therefore the prvaules
above /cannot/ be bound to the non-const reference arg of 'thread_add'
in the example

(Moreover, if you read n4...@3.10 (lvalues and rvalues) clause 2, an
explicit note explains non direct binding of rvalue references to lvalue
references)

It is clear that a conforming compiler /must/ abort compilation and emit
an error for the code in the example.

But even if the above standardese is not straightforward (by the way, if
you look at it, it is fundamental application of rvalue/lvalue
semantics), the simple result "size: 0" should trigger a bell singing
that the compiler is not doing what the code says.

>
> I'm not saying the behavior of emitting an error isn't desirable.
No, it's just /mandatory/
(compiler warnings are either desirable or not, errors are either
mandatory or forbidden)

>
> Your claim was that the compiler wasn't standards compliant and you
> dredge up two examples that aren't covered by the standard.
>
I think I answered to that.

Alf P. Steinbach

unread,
Mar 3, 2017, 2:52:07 PM3/3/17
to
I haven't checked up on your references, but I think you're probably
mistaken about how thread constructor arguments are handled.

They're not passed directly to the thread function, which would indeed
prevent an rvalue from being bound to a formal reference argument.

They're stored, and then the stored copies are forwarded.

[snip]


Cheers!, & please correct if I gut-feeled my way wrong here,

- Alf

Manfred

unread,
Mar 3, 2017, 3:54:14 PM3/3/17
to
For brevity, I may have considered std::thread to be a transparent call
to the task function - which is how it is designed by the way, but this
does not change the validity of the conclusion above - see below.

>
> They're stored, and then the stored copies are forwarded.
If you read n4...@30.3.1.2 (thread constructors) clause 5, the arguments
are forwarded via DECAY_COPY(std::forward(args)), which still produces a
rvalue (technically a temporary explicitly meant to "closely model
by-value argument passing") (20.10.7.6 - template struct decay)

(The actual implementation involves bind() template function calls as
well, which makes the error messages quite unreadable, but this is
outside of the standard wording)

Paavo Helde

unread,
Mar 3, 2017, 4:13:35 PM3/3/17
to
On 3.03.2017 21:43, Manfred wrote:
> On 3/3/2017 6:51 PM, Richard wrote:
>> [Please do not mail me a copy of your followup]
>>
>> Manfred <non...@invalid.add> spake the secret code
>> <o9c3pj$1gq0$1...@gioia.aioe.org> thusly:
>>
> <snip>
>>>>
>>> A couple of examples:
>>> issue 1 (MFC):
>>> Look at the current implementation of MFC CArray::SetSize
>>
>> Since when is MFC part of the C++ standard?
> This example is obviously primarily about quality of library code
> (shipped with VC).
> Nevertheless it easy to see that copying objects of class type via
> memcpy is in general a standard violation - you can't copy objects
> without invoking copy constructors, right?

The standard defines "trivially copyable class" types which can be
copied by memcpy(). Basically these are classes whose compiler-generated
copy constructors and assignments are equivalent to memcpy(). So MFC is
entitled to use memcpy() for such classes.

Moreover, since MFC is tightly coupled to a single C++ implementation it
can use things which are undefined behavior by the standard, but which
are defined by the implementation. Most prominent examples are checks
for this==NULL.

Anyway, I still lack to see your point. If you had said that the
standard-conformance related bugs in VC++ are there in order to keep the
MFC library compiling, this would at least have been an on-topic claim,
though not necessarily one which I would agree with. VC++ has gradually
become much more standard-conformant over the years and I am sure they
have broken things in MFC during that process.

Manfred

unread,
Mar 3, 2017, 5:32:51 PM3/3/17
to
On 03/03/2017 10:13 PM, Paavo Helde wrote:
> On 3.03.2017 21:43, Manfred wrote:
>> On 3/3/2017 6:51 PM, Richard wrote:
>>> [Please do not mail me a copy of your followup]
>>>
>>> Manfred <non...@invalid.add> spake the secret code
>>> <o9c3pj$1gq0$1...@gioia.aioe.org> thusly:
>>>
>> <snip>
>>>>>
>>>> A couple of examples:
>>>> issue 1 (MFC):
>>>> Look at the current implementation of MFC CArray::SetSize
>>>
>>> Since when is MFC part of the C++ standard?
<snip>

>> Nevertheless it easy to see that copying objects of class type via
>> memcpy is in general a standard violation - you can't copy objects
>> without invoking copy constructors, right?
>
> The standard defines "trivially copyable class" types which can be
> copied by memcpy(). Basically these are classes whose compiler-generated
> copy constructors and assignments are equivalent to memcpy().
Absolutely true.

> So MFC is entitled to use memcpy() for such classes.
The fact is that CArray is provided for the benefit of the user (same as
std::vector), the elements of CArray are user-defined classes, so this
is not an internal-only issue of MFC.
(as I wrote upstream, they have subsequently added a kind of disclaimer
in the documentation that only some types of classes are compatible with
CArray)
The more relevant argument would be to forget about CArray and friends
entirely (obvious advice is use std), but since they are still shipping
them, the inexperienced user may inadvertently use them and get into
trouble.

>
> Moreover, since MFC is tightly coupled to a single C++ implementation it
> can use things which are undefined behavior by the standard, but which
> are defined by the implementation. Most prominent examples are checks
> for this==NULL.
This is indeed an internal-only issue of MFC (which I don't mind of)

>
> Anyway, I still lack to see your point. If you had said that the
> standard-conformance related bugs in VC++ are there in order to keep the
> MFC library compiling, this would at least have been an on-topic claim,
> though not necessarily one which I would agree with.
As said my point is not about this, it is about how the library handles
user-defined objects.

> VC++ has gradually
> become much more standard-conformant over the years
I absolutely agree.
My point is that, for what is worth, in my experience I have got many
more standard compliance issues with MSVC than with gcc (with which I
substantially encountered none). Again, I agree that MSVC has improved a
lot, but, as far as I see it, still it is not the best.
This is specifically for standard compliance. The IDE in general, the
debugger and user friendliness are quite good to me.
OTOH, being the OP a newbie, I think that correctness of the language
implementation is a priority.

Ian Collins

unread,
Mar 3, 2017, 6:08:30 PM3/3/17
to
As a novice, the OP is very unlikely to encounter standard compliance
issues with MSVC++, or gcc.

Most compliance issues are obscure or "advanced" issues. The current
large code base I'm working in builds with clang++, g++ and MSVC++ and
we don't have any compliance work-arounds for any of the compilers.

--
Ian

Manfred

unread,
Mar 3, 2017, 6:49:07 PM3/3/17
to
On 03/04/2017 12:08 AM, Ian Collins wrote:
> On 03/ 4/17 11:32 AM, Manfred wrote:
>> On 03/03/2017 10:13 PM, Paavo Helde wrote:
>>
>>> VC++ has gradually
>>> become much more standard-conformant over the years
>
>> I absolutely agree.
>> My point is that, for what is worth, in my experience I have got many
>> more standard compliance issues with MSVC than with gcc (with which I
>> substantially encountered none). Again, I agree that MSVC has improved a
>> lot, but, as far as I see it, still it is not the best.
>> This is specifically for standard compliance. The IDE in general, the
>> debugger and user friendliness are quite good to me.
>> OTOH, being the OP a newbie, I think that correctness of the language
>> implementation is a priority.
>
> As a novice, the OP is very unlikely to encounter standard compliance
> issues with MSVC++, or gcc.
Probably, definitely true with gcc. But it is also true that novices
often like to experiment and try new things (I did at the time) -
curiosity is the salt of the learning process, which can lead to surprises.
OTOH I would not advise a novice to learn C++ by getting anywhere near
CArray.

> Most compliance issues are obscure or "advanced" issues. The current
> large code base I'm working in builds with clang++, g++ and MSVC++ and
> we don't have any compliance work-arounds for any of the compilers.
I have no difficulty believing that. In production code you want to keep
your distance from the corners of the standard.
But I would not define the examples I have given (which I would say are
unlikely to be the only ones) as 'obscure' code.
If you look at the thread example, one would probably choose to use
pointers instead of references in the task function, and then the issue
would simply vanish, but still it is not that unreasonable code, is it?
There the lesson is: "if you want to use pass-by-reference with threads,
you have to be explicit about it", so use pointers or std::ref().
gcc would tell you that (well, force you to look for that) at compile
time. VC++ would tell you nothing, and you'd have to find out when the
program doesn't do what it is supposed to do.

Richard

unread,
Mar 3, 2017, 7:36:21 PM3/3/17
to
[Please do not mail me a copy of your followup]

Manfred <inv...@invalid.add> spake the secret code
<o9cqu8$ucn$1...@gioia.aioe.org> thusly:

>OTOH, being the OP a newbie, I think that correctness of the language
>implementation is a priority.

...but the examples you cite aren't things that are going to be
encountered by a newbie IMO.

MFC? They ain't gonna use it IMO.

Regarding std::thread, I'm not seeing the requirements in the standard
that you are seeing.

You keep talking as if the non-conformance to the standard is
ubiquitous and commonplace, but you cited one example that has nothing
to do with the standard and another that is dubious.

Care to back up this statement:

>My point is that, for what is worth, in my experience I have got many
>more standard compliance issues with MSVC than with gcc

Specifically the phrase "MANY MORE standard compliance issues".

The last big one I was aware of had to do with expression SFINAE and
that one has been fixed in the current release.

Bo Persson

unread,
Mar 3, 2017, 8:10:58 PM3/3/17
to
On 2017-03-03 20:43, Manfred wrote:
> On 3/3/2017 6:51 PM, Richard wrote:
>> [Please do not mail me a copy of your followup]
>>
>> Manfred <non...@invalid.add> spake the secret code
>> <o9c3pj$1gq0$1...@gioia.aioe.org> thusly:
>>
> <snip>
>>>>
>>> A couple of examples:
>>> issue 1 (MFC):
>>> Look at the current implementation of MFC CArray::SetSize
>>
>> Since when is MFC part of the C++ standard?
> This example is obviously primarily about quality of library code
> (shipped with VC).

This is a 25 year old library

https://blogs.msdn.microsoft.com/vcblog/2017/02/27/happy-25th-birthday-mfc/

shipped with the compiler for backward compatibility.

> Nevertheless it easy to see that copying objects of class type via
> memcpy is in general a standard violation - you can't copy objects
> without invoking copy constructors, right?

Code shipped with a specific compiler doesn't have to be portable to
every other compiler. It is very much allowed to use compiler specific
features that turns formally UB code into implementation defined and
working.

Buy the compiler writer a beer, and suddenly your library code just works!


Bo Persson


Paavo Helde

unread,
Mar 4, 2017, 4:08:16 AM3/4/17
to
On 4.03.2017 0:32, Manfred wrote:
> On 03/03/2017 10:13 PM, Paavo Helde wrote:
>
>> So MFC is entitled to use memcpy() for such classes.
> The fact is that CArray is provided for the benefit of the user (same as
> std::vector), the elements of CArray are user-defined classes, so this
> is not an internal-only issue of MFC.
> (as I wrote upstream, they have subsequently added a kind of disclaimer
> in the documentation that only some types of classes are compatible with
> CArray)
> The more relevant argument would be to forget about CArray and friends
> entirely (obvious advice is use std), but since they are still shipping
> them, the inexperienced user may inadvertently use them and get into
> trouble.

An inexperienced user might get into a trouble in C++ in thousand
different ways. Yes, using an outdated and inconvenient library like MFC
is one of those ways.

>> VC++ has gradually
>> become much more standard-conformant over the years
> I absolutely agree.
> My point is that, for what is worth, in my experience I have got many
> more standard compliance issues with MSVC than with gcc (with which I
> substantially encountered none).

Agreed, though for example I think there was a short time period when
the 'override' specifier was just standardized, but the current latest
gcc version did not have it (MSVC++ had had it already for years
before). But in general yes, gcc has over years been much more standards
compliant.

> Again, I agree that MSVC has improved a
> lot, but, as far as I see it, still it is not the best.
> This is specifically for standard compliance. The IDE in general, the
> debugger and user friendliness are quite good to me.
> OTOH, being the OP a newbie, I think that correctness of the language
> implementation is a priority.

Here I disagree, IMO for a newbie a good debugger is much more
important, and here VS wins. A newbie would make a lot of copy-pasting
from SO and other places, half of which are plain wrong or out of date
and won't work anyway. The few problems caused by the compiler standard
compliance issues would just go unnoticed in the myriad of other problems.








Alf P. Steinbach

unread,
Mar 4, 2017, 6:17:40 AM3/4/17
to
On 3/4/2017 10:08 AM, Paavo Helde wrote:
> [snip]
> for example I think there was a short time period when
> the 'override' specifier was just standardized, but the current latest
> gcc version did not have it (MSVC++ had had it already for years
> before). But in general yes, gcc has over years been much more standards
> compliant.

g++ has generally been in advance wrt. core language evolution, while
MSVC has generally been in advance wrt. standard library evolution.

Especially regex-es and std threads took a very long time to become
supported by g++ on the Windows platform; that was very annoying!

On the whole I rather like the MSVC approach. The good library support
is probably in large part due to STL (a funny name coincidence, STL
maintaining the STL over at Microsoft). Still, I think it's like 10 to
15 years since I last reported a g++ compiler issue, while I report one
such about every other month for MSVC.

On the third hand, usually the Microsoft compiler team fix things fast,
and usually they send just one notification per bug: hey, it's fixed.

But on the fourth hand, yesterday I got yet another a notification, from
a series, that a bug I reported about a year ago had finally been fixed:

<url:
https://connect.microsoft.com/VisualStudio/feedback/details/2256407/c-two-user-defined-conversions-incorrectly-accepted-in-implicit-conversion-sequence>

And now I'm out of hands, I'm just a quadruped. So.


Cheers!,

- Alf


Manfred

unread,
Mar 4, 2017, 2:02:41 PM3/4/17
to
On 3/4/2017 1:36 AM, Richard wrote:
> [Please do not mail me a copy of your followup]
>
> Manfred <inv...@invalid.add> spake the secret code
> <o9cqu8$ucn$1...@gioia.aioe.org> thusly:
>
>> OTOH, being the OP a newbie, I think that correctness of the language
>> implementation is a priority.
>
> ...but the examples you cite aren't things that are going to be
> encountered by a newbie IMO.
As I wrote elsethread, I think that such examples are not really obscure
code. Feel free to have a different opinion, of course.

>
> MFC? They ain't gonna use it IMO.
>
> Regarding std::thread, I'm not seeing the requirements in the standard
> that you are seeing.
I gave (as per your request) detailed references to the standard. I
think that, if you read it, you will see it. That said, if you like a
different interpretation of the standard, I have no intention to force
you into anything.

>
> You keep talking as if the non-conformance to the standard is
> ubiquitous and commonplace, but you cited one example that has nothing
> to do with the standard and another that is dubious.
No I am not. I said /in my experience/ I have seen non-conformance with
the MS compiler significantly(my personal measure, if you allow me) more
often than with gcc(with which I found almost none).
This is obviously _not_ saying that the MS compiler non-conformance is
ubiquitous - this would be just silly.
In fact I have said elsethread that I like the IDE as a whole, and I use
it for my Windows code.
If you allow me, I think I can mention some weak point I have happened
to stumble into.

>
> Care to back up this statement:
>
>> My point is that, for what is worth, in my experience I have got many
>> more standard compliance issues with MSVC than with gcc
>
> Specifically the phrase "MANY MORE standard compliance issues".
I will not make a detailed list of all I have encountered (I don't
recall them all, and it would be of little interest besides being off-topic)
Just because you ask, I may mention that my first MS C++ compiler was
VC++ 5.0 Pro (back in the '90s), since then I used subsequent versions
(not all). The examples I gave apply to VS2015.
Along the line I have seen e.g. issues with template code of the early
implementations, or C standard library APIs non-conforming (either
semantically or syntactically) to modern C standards (I think the former
have been fixed for quite some time, an example of the latter that comes
to mind is vsnprintf which has not been C99 compliant until VS2015/Win10)
I may add that I have had internal compiler errors (you may still find
traces e.g. in the boost source tree that I was not the only one to
experience such stuff) and code that would not compile correctly unless
bracketed with #pragma optimize("g", {off/on}) - I personally categorize
these together with noncompliances in the sense that the compiler was
not doing what it was supposed to do (as the standard obviously requires).
Besides this quite boring story (but since you asked...) on the other
hand I have been using gcc since my time at university (earlier than MS
VC++) and personally I never got a hiccup from it (except maybe only
once a couple of years ago which ended up being a documentation issue)

>
> The last big one I was aware of had to do with expression SFINAE and
> that one has been fixed in the current release.
>
Sure they fixed most stuff (I can't say all) along the line. Microsoft
is a great company, they would be foolish (which they surely aren't) if
they didn't.
They have been catching up. My personal opinion is that they are the
best for Windows code, not the best, for the compiler part and including
the world outside Windows, if compared with gcc.

Jorgen Grahn

unread,
Mar 5, 2017, 8:45:25 AM3/5/17
to
On Thu, 2017-03-02, Real Troll wrote:
> On 01/03/2017 02:21, Tanush Topia wrote:
>> Hi all,
>>
>> I'm a newbie to c++. Any IDE recommended to be used for C++?
>>
>
> As you are a newbie, it doesn't matter what you use as long as you can
> find books for that IDE and so on that point and that point only
> Microsoft's Visual Studio comes out on top.
>
> You need to prepare for the job market

Unless it's a hobby thing for him/her.

> and so be able to create some good programs with good user
> interface. I doubt if any of the compilers out there can compete
> with Visual Studio or Embarcadero
> <https://www.embarcadero.com/products/cbuilder> C++ Builder. These
> products have tools to create UI.

[Citation needed] for the implied claim that the C++ job market wants
you to create GUIs (that's what I think you mean). I create
command-line interfaces and file formats fairly frequently, but last
time I did GUIs was in 1994.

I'm sure there is such a market; I just doubt most C++ programmers
work there. The ones I know don't ...

/Jorgen

--
// Jorgen Grahn <grahn@ Oo o. . .
\X/ snipabacken.se> O o .

Rick C. Hodgin

unread,
Mar 5, 2017, 1:24:02 PM3/5/17
to
For basic standalone app development:

Visual Studio 2015 is the best. I also use Visual Studio 2008, and 2010.

It integrates development, compilation, debugging, and help and
reference materials into a single GUI.

Thank you,
Rick C. Hodgin

Richard

unread,
Mar 6, 2017, 12:21:59 AM3/6/17
to
[Please do not mail me a copy of your followup]

Jorgen Grahn <grahn...@snipabacken.se> spake the secret code
<slrnobo5jc.14...@frailea.sa.invalid> thusly:

>[Citation needed] for the implied claim that the C++ job market wants
>you to create GUIs (that's what I think you mean). I create
>command-line interfaces and file formats fairly frequently, but last
>time I did GUIs was in 1994.

There is still lots of GUI work going on in C++ land. wxWidgets and
Qt are not losing any steam. However, for most simple types of GUI
(fill out this form and click OK), C# Windows Forms productivity can't
be beat. That was also true back in VC6 days as well -- VB6 supported
rapid application development in a way that just killed VC6. GUIs in
Java? Incredibly painful. GUIs in Python? Most people just bind to
Qt. Web front end gui in jQuery/Angular/bootstrap/etc? Really easy
but I still haven't seen a real graphical designer for those GUIs
like Windows Forms Designer for C# in Visual Studio.

For high performance computing and 3D graphics markets, I am willing
to bet there's still lots of C++ GUIs because the entire core of your
processing is highly likely to be done in C++ for performance reasons.
I work on a Qt C++ GUI every day, and less frequently a wxWidgets GUI,
but those application have been around for at least 10 years and both
are in the 3D graphics market segment. Toolkits like wxWidgets and Qt
give you high-level portable components that are rich enough to
satisfy most people's needs out of the box. If your needs aren't
satsified directly, it isn't hard to extend those frameworks with
custom widgets.

MFC? I'm only aware of legacy applications using it, not getting any
design wins in new applications. Tcl/Tk? Seems to have some following
in the perl/python community, but never really gained enough steam
to dominate. Every year someone posts in here how they have a new
GUI framework to kill all the others, but it will be very difficult to
displace the existing market momentum of even something dated like MFC
never mind things that are portable and still actively developed like
Qt and wxWidgets. My impression of MFC is that it occasionally gets
new features, but it is really only supported for legacy reasons at
this point. If MS is endorsing any GUI framework for C++ applications
these days, they seem to want you to use WinRT and WPF.

Richard

unread,
Mar 6, 2017, 5:02:00 PM3/6/17
to
[Please do not mail me a copy of your followup]

Cholo Lennon <cholo...@hotmail.com> spake the secret code
<o993r9$df1$1...@gioia.aioe.org> thusly:

>Well VS has a better debugger (the best IMO), but Eclipse CDT is more
>powerful when managing projects

To what exactly are you referring when you say "managing projects"?

Rick C. Hodgin

unread,
Mar 6, 2017, 5:07:13 PM3/6/17
to
On Thursday, March 2, 2017 at 7:40:24 AM UTC-5, Cholo Lennon wrote:
> On 01/03/17 18:33, Vir Campestris wrote:
> Well VS has a better debugger (the best IMO)...

VS does have the best debugger, and the best development environment
because of its IDE features, but also because it possesses edit-and-
continue, which allows you to make source code level changes while
your program is running, recompile on-the-fly and continue your
existing debugging session.

This works with many changes, but not all. Change called parameters,
for example, and it must be restarted. But you can add variables,
and new code, and delete old code, etc.

There's nothing that comes close to Visual Studio.

Moai

unread,
Mar 7, 2017, 11:52:06 AM3/7/17
to
On 2017-03-03 12:53, Richard wrote:
> [Please do not mail me a copy of your followup]
>
> penultim...@gmail.com spake the secret code
> <o9bbrh$b1u$2...@nearlythere.eternal-september.org> thusly:
>
>> On 2017-03-02 12:30, Richard wrote:
>>> [Please do not mail me a copy of your followup]
>>>
>>> penultim...@gmail.com spake the secret code
>>> <o9855l$ogo$2...@nearlythere.eternal-september.org> thusly:
>>>
>>>> On 2017-03-01 18:58, Richard wrote:
>>>>> CLion is not free, but it also has a free evaluation period. It is
>>>>> well worth the money unless you only write C++ code infrequently.
>>>> How can you even use CLion if you can't compile it?
>>>
>>> There's this new thing called the internet that allows you to obtain
>>> executable files.
>>>
>> Oh... so you meant you can't use it, unless you specifically use the
>> exact software and hardware platforms it was compiled for.
>> It's unusable unless those conditions are met.
>
> You are intentionally trying to make a problem where none exists.
>
> Have you even tried it? Did you even google "CLion requirements"?
> <https://www.jetbrains.com/help/clion/2016.3/requirements-for-clion.html>
>
> No, you didn't. You're just armchair posturing about something you
> don't know anything about.
>
It's unusable. I can't run it on OpenBSD, which is what I use for any
programming I do.

woodb...@gmail.com

unread,
Mar 7, 2017, 11:57:24 AM3/7/17
to
Recently I've been making sure my software builds and
runs fine with Visual Studio 2017. I don't notice big
changes to VS, but I use makefiles on Windows and VIM
for editing. :)

The only problem I've run into has to do with Git,
symbolic links and Windows. I have two symbolic links
that don't cause any problems on FreeBSD or Linux, but
gum things up on Windows. I'm using this Git:
https://git-for-windows.github.io/


Brian
Ebenezer Enterprises - In G-d we trust.
http://webEbenezer.net

Richard

unread,
Mar 7, 2017, 1:57:30 PM3/7/17
to
[Please do not mail me a copy of your followup]

penultim...@gmail.com spake the secret code
<o9moa2$grq$3...@nearlythere.eternal-september.org> thusly:
I never recommended it for BSD. I recommended it for Linux or MacOS.

Seriously.

Try reading before posting.

Scott Lurndal

unread,
Mar 7, 2017, 2:34:18 PM3/7/17
to
Let's see. It requires cmake. That's the first show-stopper.
Second, it requires a JRE. That's the second show-stopper.
Third, it packs everything into a single window. That's the third show-stopper.
Fourth, it's not available in source form. That's the fourth show-stopper.
Fifth, it's suitable for development of firmware, operating systems or embedded software.
Sixth, Richard gets obnoxious about any objections to using it.

Not my cuppa.

Ian Collins

unread,
Mar 7, 2017, 2:54:31 PM3/7/17
to
On 03/ 8/17 08:34 AM, Scott Lurndal wrote:
> legaliz...@mail.xmission.com (Richard) writes:
>> [Please do not mail me a copy of your followup]
>>
>> penultim...@gmail.com spake the secret code
>> <o9moa2$grq$3...@nearlythere.eternal-september.org> thusly:
>>
>>> On 2017-03-03 12:53, Richard wrote:
>>>>
>>>> You are intentionally trying to make a problem where none exists.
>>>>
>>>> Have you even tried it? Did you even google "CLion requirements"?
>>>> <https://www.jetbrains.com/help/clion/2016.3/requirements-for-clion.html>
>>>>
>>>> No, you didn't. You're just armchair posturing about something you
>>>> don't know anything about.
>>>>
>>> It's unusable. I can't run it on OpenBSD, which is what I use for any
>>> programming I do.
>>
>> I never recommended it for BSD. I recommended it for Linux or MacOS.
>>
>> Seriously.
>>
>> Try reading before posting.
>
> Let's see. It requires cmake. That's the first show-stopper.

Was for me..

> Second, it requires a JRE. That's the second show-stopper.

So do most IDEs that aren't Visual Studio...

> Third, it packs everything into a single window. That's the third show-stopper.

I assume it can un-dock windows?

> Fourth, it's not available in source form. That's the fourth show-stopper.

Would you read the tangle of Java that is Eclipse?

> Fifth, it's suitable for development of firmware, operating systems or embedded software.
> Sixth, Richard gets obnoxious about any objections to using it.

:)

--
Ian

Scott Lurndal

unread,
Mar 7, 2017, 3:46:42 PM3/7/17
to
sc...@slp53.sl.home (Scott Lurndal) writes:

>Let's see. It requires cmake. That's the first show-stopper.
>Second, it requires a JRE. That's the second show-stopper.
>Third, it packs everything into a single window. That's the third show-stopper.
>Fourth, it's not available in source form. That's the fourth show-stopper.
>Fifth, it's suitable for development of firmware, operating systems or embedded software.
^NOT

Richard

unread,
Mar 7, 2017, 5:47:58 PM3/7/17
to
[Please do not mail me a copy of your followup]

I don't work for JetBrains, so I don't feel compelled to defend it
arbitrarily. However, as a long-time customer of JetBrains products
I do feel that they make some of the best IDE and refactoring tools in
the industry. It is amazing what you can do with IntelliJ for Java code.
I don't know how I could survive working on Java without IntelliJ or
working on C# without ReSharper. The same holds true for ReSharper
for C++ and Visual Studio on Windows, or CLion on linux.

While I'm quoting Ian here, I'm mostly responding to Mr. KILLfiled.

Ian Collins <ian-...@hotmail.com> spake the secret code
<ei8hfe...@mid.individual.net> thusly:
>On 03/ 8/17 08:34 AM, Scott Lurndal wrote:
>> Let's see. It requires cmake. That's the first show-stopper.
>
>Was for me..

See, now that's a reasonable criticism. However, the refactoring
support is top-notch and it is going to blow away anything else on
Linux in this regard.

For me, if I don't have good refactoring and navigation support from
my IDE, then I just have an editor. I know unix users are used to
just having an editor and they think that ctags is tantamount to in
depth navigation, but honestly they just don't know what they are
missing having never used an IDE like IntelliJ for Java, ReSharper for
C#. CLion is only a little over a year old and it is already beating
the pants off other C++ development environments on linux.

>> Second, it requires a JRE. That's the second show-stopper.
>
>So do most IDEs that aren't Visual Studio...

I don't know why requiring Java is a showstopper, but that's also a
valid criticism if for some reason you have a fear/hatred of Java.
But that means you won't be using Eclipse or NetBeans either which are
the other popular IDEs on linux.

>> Third, it packs everything into a single window. That's the third
>show-stopper.
>
>I assume it can un-dock windows?

Windows can be rearranged and undoced, yes. I like VS's window
arrangement and docking facilities better than CLion's which is based
on IntelliJ. However, you can do all the same things in any JetBrains
IDE that you can do in VS as far as window arrangement goes.

>> Fourth, it's not available in source form. That's the fourth show-stopper.
>
>Would you read the tangle of Java that is Eclipse?

Again, I'm not sure why this is a showstopper. It's one thing to say
that you prefer to support open source software instead of commercial
software. It's another thing to demand the actual source code because
you need to review it.

Are you really reviewing every line of source code for everything you
use in your environment and compiling it all yourself to ensure that
nothing bad was slipped in? I find that highly dubious. Even in the
open source world, you just have to trust other people or you'll never
get anything done yourself because you'll be spending all your time code
reviewing every piece of open source software in the entire stack (OS,
drivers, command-line utilities, editors, compilers, etc).

As developers in a modern environment we are sitting on probably tens
of millions of lines of code.

>> Fifth, it's suitable for development of firmware, operating systems or
>embedded software.
>> Sixth, Richard gets obnoxious about any objections to using it.

I get obnoxious about stupid objections. A couple things you've
asserted here (apparently you couldn't stop feeding religious trolls
or were saying a bunch of other stupid shit because I KILLfiled you
some time ago) were simply your opinion about your personal tastes (I
don't like java, I don't like closed source) and not a criticism of
the product itself.

Remember the original thread was "what's the best IDE" and I gave my
opinion having actually USED these IDEs instead of dismissing them out
of hand for religious/opinion reasons. I'm not telling anyone (least
of all an open source java hating snob) what to use. I am asserting
that using the IDEs I recommend will make you an order of magnitude
more productive if you just take the chip off your shoulder and try
them for an extended period of time.

woodb...@gmail.com

unread,
Mar 7, 2017, 8:45:57 PM3/7/17
to
On Tuesday, March 7, 2017 at 4:47:58 PM UTC-6, Richard wrote:

Please don't swear here.


Brian
Ebenezer Enterprises - Enjoy programming again.
http://webEbenezer.net

red floyd

unread,
Mar 7, 2017, 9:57:20 PM3/7/17
to
On 03/07/2017 05:45 PM, woodb...@gmail.com wrote:
> On Tuesday, March 7, 2017 at 4:47:58 PM UTC-6, Richard wrote:
>
> Please don't swear here.
>
>

Fuck off.


Ian Collins

unread,
Mar 7, 2017, 11:11:43 PM3/7/17
to
What he said.

--
Ian

woodb...@gmail.com

unread,
Mar 7, 2017, 11:41:38 PM3/7/17
to
On Tuesday, March 7, 2017 at 8:57:20 PM UTC-6, red floyd wrote:

Sorry, but it looks like I'm going to be here for a while ...

Moai

unread,
Mar 8, 2017, 2:00:28 AM3/8/17
to
On 2017-03-07 13:57, Richard wrote:
> I never recommended it for BSD. I recommended it for Linux or MacOS.
>
> Seriously.
>
> Try reading before posting.
Please don't move the goalposts, ください。

red floyd

unread,
Mar 8, 2017, 1:06:50 PM3/8/17
to
On 3/7/2017 8:41 PM, woodb...@gmail.com wrote:
> On Tuesday, March 7, 2017 at 8:57:20 PM UTC-6, red floyd wrote:
>
> Sorry, but it looks like I'm going to be here for a while ...
>

Do you do anything here other than spam your fucking program
and bitch about other people's language?

Oh, and the fuck off was just about your complaining.



Richard

unread,
Mar 8, 2017, 1:55:39 PM3/8/17
to
[Please do not mail me a copy of your followup]

penultim...@gmail.com spake the secret code
<o9oa0p$u5e$1...@nearlythere.eternal-september.org> thusly:
>Please don't move the goalposts.

Non sequitur. Here is an excerpt from my original recommendation:

> My own brief history of C++ development environments I've used:
> - vi/emacs + make
> - SGI IDE (can't remember the name.. CASEVision?)
> - VC6 on Windows
> - VS on Windows[*]
> - Xcode on Mac
> - CLion on Mac/Linux[*]
> [*] what I use currently
>
> For Linux, nothing I've evaluated so far beats CLion.

Chris Vine

unread,
Mar 8, 2017, 2:15:19 PM3/8/17
to
Well, he still owes me an apology from last week.

Apart from that he is a significant weirdo. This post still remains my
most favorite of all for demonstrating his bizarre self-estimation:
http://comp.lang.cpp.narkive.com/q0Yuq9Cf/comments-on-interview-of-scott-meyers

If anyone wondered whether he is to be taken seriously, that should
answer it.

0 new messages