Thursday, March 2, 2017

Digest for comp.lang.c++@googlegroups.com - 24 updates in 4 topics

scott@slp53.sl.home (Scott Lurndal): Mar 01 11:37PM

>> software remotely (e.g. over secure shell and low-speed network
>> connection) if required.
 
>Some of us have our own PC and don't need remote shell access.
 
That's nice. You did, of course, note the "if required".
legalize+jeeves@mail.xmission.com (Richard): Mar 01 11:58PM

[Please do not mail me a copy of your followup]
 
Tanush Topia <imeilkoti@gmail.com> spake the secret code
 
>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 <imeilkoti@gmail.com>: Mar 01 07:36PM -0500

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.
legalize+jeeves@mail.xmission.com (Richard): Mar 02 01:01AM

[Please do not mail me a copy of your followup]
 
Marcel Mueller <news.5.maazl@spamgourmet.org> spake the secret code
 
>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.
 
>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.
--
"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>
legalize+jeeves@mail.xmission.com (Richard): Mar 02 01:02AM

[Please do not mail me a copy of your followup]
 
penultimategrill@gmail.com spake the secret code
 
>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".
--
"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>
legalize+jeeves@mail.xmission.com (Richard): Mar 02 01:03AM

[Please do not mail me a copy of your followup]
 
Manfred <noname@invalid.add> spake the secret code
 
>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.
--
"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>
Ian Collins <ian-news@hotmail.com>: Mar 02 03:02PM +1300

On 03/ 2/17 01:36 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.
 
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 <penultimategrill@gmail.com>: Mar 01 10:54PM -0500

On 2017-03-01 20:02, Richard wrote:
 
> 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 <penultimategrill@gmail.com>: Mar 01 10:58PM -0500

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 <Melzzzzz@zzzzz.com>: Mar 02 08:41AM


> 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 <david.brown@hesbynett.no>: Mar 02 09:59AM +0100

On 02/03/17 03:02, Ian Collins wrote:
 
>>> 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 <chololennon@hotmail.com>: Mar 02 09:40AM -0300

On 01/03/17 18:33, Vir Campestris wrote:
 
> 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.
 
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
 
 
--
Cholo Lennon
Bs.As.
ARG
scott@slp53.sl.home (Scott Lurndal): Mar 02 01:24PM


>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.
legalize+jeeves@mail.xmission.com (Richard): Mar 02 05:30PM

[Please do not mail me a copy of your followup]
 
penultimategrill@gmail.com spake the secret code
 
>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.
 
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.
--
"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>
legalize+jeeves@mail.xmission.com (Richard): Mar 02 05:30PM

[Please do not mail me a copy of your followup]
 
penultimategrill@gmail.com spake the secret code
>> 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.
--
"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>
Real Troll <real.troll@trolls.com>: Mar 02 02:04PM -0400

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@slp53.sl.home (Scott Lurndal): Mar 02 06:36PM

>>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 <ian-news@hotmail.com>: Mar 03 08:09AM +1300

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 <vir.campestris@invalid.invalid>: Mar 02 09:14PM

On 02/03/2017 12:40, Cholo Lennon wrote:
> 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 <vir.campestris@invalid.invalid>: Mar 02 09:18PM

On 02/03/2017 18:36, Scott Lurndal wrote:
 
>> There's this new thing called the internet that allows you to obtain
>> executable files.
 
> "allows you to obtain malware-laden executable files"
 
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...
"Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com>: Mar 02 03:49AM +0100

On 3/1/2017 7:23 PM, Mr Flibble wrote:
 
[snipped total over-quoting]
 
> You egregiously use 'auto' instead of 'int' for return type of main()
 
Nothing "egregiously" (bad) about that.
 
On the contrary, it's IMHO bad to needlessly mix two different syntaxes
for function declarations.
 
The old one has no advantages that I know of.
 
 
> and then you go on to use printf (included from stdio.h instead of
> cstdio) instead of cout?
 
Presumably you feel that there's some dissonance there.
 
The trailing return type syntax is only 6 years old, while `printf` is
like 40 years old. Is that it?
 
Sorry if I guess wrong about what you mean, but I'm not telepathic.
 
 
> You need to have a serious word with yourself
> Alf: your coding style and habits ARE TERRIBLE.
 
Well, you can help improve it. :) E.g., try to be clear about why one,
in your opinion, should never mix new stuff with old stuff, if that's
the point here? Because I just don't see it, it's not meaningful to me.
 
 
Cheers!,
 
- Alf
Mr Flibble <flibbleREMOVETHISBIT@i42.co.uk>: Mar 02 06:05PM

On 02/03/2017 02:49, Alf P. Steinbach wrote:
 
> Well, you can help improve it. :) E.g., try to be clear about why one,
> in your opinion, should never mix new stuff with old stuff, if that's
> the point here? Because I just don't see it, it's not meaningful to me.
 
First we can consider terseness:
 
int main() // 10 characters (including whitespace)
auto main() -> int // 18 characters (including whitespace)
 
Less characters can be grokked quicker by the brain.
 
Secondly we can consider rationale:
 
The trailing return type syntax was invented to solve a problem related
to templates and very few people think ALL functions should use it;
certainly not main() which is IDIOMATICALLY DEFINED.
 
You deliberately try to frustrate and irritate by obtusely writing legal
but obfuscated C++; why do you do this?
 
/Flibble
"Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com>: Mar 02 05:17AM +0100

On 3/1/2017 10:44 PM, Vir Campestris wrote:
> Alf, I like your posts, and I respect your advice. But I found your
> Expressive code impossible to read. It requires knowledge of all sorts
> of things that I don't know, and I don't have time to read.
 
I've tried to make the About section short, informative and clear,
 
<url: https://github.com/alf-p-steinbach/Expressive-Cpp#about>
 
 
>> terseness, which therefore seems to be a benefit to me, one that comes
>> in addition to the safety, convenience and readability benefits
 
> Be careful. Remember APL...
 
Yes. Easily recognized as gibberish. :) Thanks.
 
 
Cheers!,
 
- Alf
Jorgen Grahn <grahn+nntp@snipabacken.se>: Mar 02 03:45AM

On Tue, 2017-02-28, woodbrian77@gmail.com wrote:
...
 
> And this is a lower level makefile
> https://github.com/Ebenezer-group/onwards/blob/master/tiers/makefile
 
> Thanks in advance for suggestions on how to improve those files.
 
I don't know your project, but if you don't /have/ to see it as
separate parts, I recommend having just /one/ Makefile (one invocation
of make, no $(MAKE)) covering all of the code.
 
Peter Miller's "Recursive Make Considered Harmful" covers this at
length: http://aegis.sourceforge.net/auug97.pdf .
 
Another thing that worries me with your second Makefile is that
dependencies on header files seem to be partly missing.
 
direct: direct.cc ../libhome.a
$(CXX) -o $@ $(CXXFLAGS) $< ../libhome.a
size $@
 
Doesn't direct.cc #include anything related to libhome?
 
Just for reference, here's how I tend to do it:
 
https://github.com/kjgrahn/tcp/blob/master/Makefile
 
The last twenty lines is boilerplate to get automatic dependency
generation working, along the lines of
 
* Paul D. Smith: Auto-Dependency Generation
http://make.mad-scientist.net/papers/advanced-auto-dependency-generation/
* The GNU Make Manual
 
/Jorgen
 
--
// Jorgen Grahn <grahn@ Oo o. . .
\X/ snipabacken.se> O o .
You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page.
To unsubscribe from this group and stop receiving emails from it send an email to comp.lang.c+++unsubscribe@googlegroups.com.

No comments: