Sunday, December 15, 2019

Digest for comp.lang.c++@googlegroups.com - 21 updates in 2 topics

"Öö Tiib" <ootiib@hot.ee>: Dec 14 04:03PM -0800

On Sunday, 15 December 2019 00:17:11 UTC+2, Melzzzzz wrote:
> > guaraneed that other person (or even you yourself few months later)
> > will be even more confused about it.
 
> C++ can be quite clean language, written.
 
Sure, and with cleanly written code the tools tend to be content as
well.
But we have to be capable of reading code of others anyway if
for nothing else then for constructively explaining why it is bad
to use it like that. The C++98 was already huge in that sense.
Then C++11 came and changed everything by quadrupling the language
with move semantics, lambdas and constexpr. In February C++2020 will
quadruple it again. I feel like too old for learning it all
once again. :(
"Öö Tiib" <ootiib@hot.ee>: Dec 14 04:13PM -0800

On Sunday, 15 December 2019 00:19:50 UTC+2, Melzzzzz wrote:
> > anything ever nowadays.
 
> I have gcc and clang and when I want icpp. What others are there
> that are half usable? MS VC but that one is Windows only...
 
I have to use some less common compilers for embedded systems.
Also I typically have several versions of same line because the
compilers have some breaking changes and differences in defects
between versions. Just look at their issue management. ;)
Ian Collins <ian-news@hotmail.com>: Dec 15 03:41PM +1300

On 15/12/2019 13:03, Öö Tiib wrote:
> with move semantics, lambdas and constexpr. In February C++2020 will
> quadruple it again. I feel like too old for learning it all
> once again. :(
 
It helps to keep the dementia away :)
 
 
I enjoy working with and reviewing code for younger programmers keen to
try new stuff I had missed.
 
--
Ian
"Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>: Dec 14 10:55PM -0800

On 12/14/2019 6:41 PM, Ian Collins wrote:
 
> It helps to keep the dementia away :)
 
> I enjoy working with and reviewing code for younger programmers keen to
> try new stuff I had missed.
 
Perfect!
boltar@nowhere.co.uk: Dec 15 09:49AM

On Sat, 14 Dec 2019 22:17:00 GMT
>> guaraneed that other person (or even you yourself few months later)
>> will be even more confused about it.
 
>C++ can be quite clean language, written.
 
It can be , but often isn't. And as certain people in this group demonstrate,
some coders go out of their way to make their code obstuse and hard to
understand for reasons more to do with their personalities rather than logical
requirements.
boltar@nowhere.co.uk: Dec 15 09:53AM

On Sat, 14 Dec 2019 16:03:10 -0800 (PST)
>with move semantics, lambdas and constexpr. In February C++2020 will
>quadruple it again. I feel like too old for learning it all
>once again. :(
 
You're not the only one. However no doubt I and many others will have to learn
all the extra pointless BS in c++20 simply in order to get our CVs through the
door for future job interviews. I doubt I will ever use any of it - I hardly
use anything from C++14 and so far nothing from 17 in my own projects. In
fact my last 2 projects work and personal were in plain C.
Melzzzzz <Melzzzzz@zzzzz.com>: Dec 15 11:12AM

> with move semantics, lambdas and constexpr. In February C++2020 will
> quadruple it again. I feel like too old for learning it all
> once again. :(
 
You just use what is convenient. In practice when write new code.
That is how I learned new features. But still don't use constexpr ;)
 
--
press any key to continue or any other to quit...
U ničemu ja ne uživam kao u svom statusu INVALIDA -- Zli Zec
Svi smo svedoci - oko 3 godine intenzivne propagande je dovoljno da jedan narod poludi -- Zli Zec
Na divljem zapadu i nije bilo tako puno nasilja, upravo zato jer su svi
bili naoruzani. -- Mladen Gogala
Melzzzzz <Melzzzzz@zzzzz.com>: Dec 15 11:18AM

> door for future job interviews. I doubt I will ever use any of it - I hardly
> use anything from C++14 and so far nothing from 17 in my own projects. In
> fact my last 2 projects work and personal were in plain C.
 
I use C only when necessary. When I have to. syntactic sugar of C++ is
what makes me use it. And I hate macros.
 
--
press any key to continue or any other to quit...
U ničemu ja ne uživam kao u svom statusu INVALIDA -- Zli Zec
Svi smo svedoci - oko 3 godine intenzivne propagande je dovoljno da jedan narod poludi -- Zli Zec
Na divljem zapadu i nije bilo tako puno nasilja, upravo zato jer su svi
bili naoruzani. -- Mladen Gogala
Daniel <danielaparker@gmail.com>: Dec 15 06:53AM -0800

On Saturday, December 14, 2019 at 7:03:20 PM UTC-5, Öö Tiib wrote:
> Then C++11 came and changed everything by quadrupling the language
> with move semantics, lambdas and constexpr. In February C++2020 will
> quadruple it again.
 
And yet, it still doesn't have big decimal, big float, big integer,
std::int128, a good story for unicode, a streams library that doesn't follow
the "massive overhead principle", and much else. There is no common language
package manager, which practically all modern languages have. In
consequence, the C++ open source offerings frequently look pale in comparison
to their counterparts in other languages that have these things, for example,
there doesn't seem to be anything in the C++ arsenal that fully compares to
Rust's serde, nor, it seems, can there be, given the lack of basic things.
 
Daniel
Jorgen Grahn <grahn+nntp@snipabacken.se>: Dec 15 03:35PM

On Sat, 2019-12-14, Melzzzzz wrote:
>> anything ever nowadays.
 
> I have gcc and clang and when I want icpp. What others are there
> that are half usable? MS VC but that one is Windows only...
 
For Unix users, I suppose what's most interesting is newer and older
versions of those you mentioned. (Although I personally rarely bother
with them, and stay away from the bleeding edge in my code, too.)
 
/Jorgen
 
--
// Jorgen Grahn <grahn@ Oo o. . .
\X/ snipabacken.se> O o .
boltar@nowhere.co.uk: Dec 15 04:44PM

On Sun, 15 Dec 2019 11:18:43 GMT
>> fact my last 2 projects work and personal were in plain C.
 
>I use C only when necessary. When I have to. syntactic sugar of C++ is
>what makes me use it. And I hate macros.
 
If you do cross platform systems or network programming you have no choice but
to use macros even in C++17.
boltar@nowhere.co.uk: Dec 15 04:48PM

On Sun, 15 Dec 2019 06:53:07 -0800 (PST)
>the "massive overhead principle", and much else. There is no common languag=
>e=20
>package manager, which practically all modern languages have. In
 
Why does it need one? You have a directory tree for include files and most
of the libraries are closely tied in with the OS itself so can't be managed
by the language system. Its easy to offer a nice package manager in a high
level language like Python that hides all the nasty low level details where
it interfaces with the OS libraries but C/C++ use the OS libraries direct.
If the package manager screws up the whole system is fucked, not just the
compiler.
Daniel <danielaparker@gmail.com>: Dec 15 09:10AM -0800

> >e=20
> >package manager, which practically all modern languages have. In
 
> Why does it need one?
 
There appears to be a demand for one, witness the fact that we have HomeBrew,
Conan, vcpkg, Hunter, Buckaroo, Spack, and many others. The problem in C++ is
not that we don't have a package manager, but that we have too many, and no
one commonly accepted one.
 
Daniel
boltar@nowhere.co.uk: Dec 15 06:33PM

On Sun, 15 Dec 2019 09:10:23 -0800 (PST)
 
>> Why does it need one?
 
>There appears to be a demand for one, witness the fact that we have HomeBrew,
>Conan, vcpkg, Hunter, Buckaroo, Spack, and many others. The problem in C++ is
 
I don't know about the others but Homebrew is a generic 3rd party package
manager for macos.
 
>not that we don't have a package manager, but that we have too many, and no
>one commonly accepted one.
 
That doesn't answer the question - why does C++ need one? Perhaps on a junk
OS like windows where files are scattered to the 4 winds it might help but
on *nix things are pretty clean and ordered already and you don't need a
package manager to unzip some header and library files into /usr/local
Jorgen Grahn <grahn+nntp@snipabacken.se>: Dec 15 07:29PM


>>There appears to be a demand for one, witness the fact that we have
>>HomeBrew, Conan, vcpkg, Hunter, Buckaroo, Spack, and many
>>others. The problem in C++ is
...
> OS like windows where files are scattered to the 4 winds it might help but
> on *nix things are pretty clean and ordered already and you don't need a
> package manager to unzip some header and library files into /usr/local
 
Actually you /do/ want a package manager, but I run Debian Stable and
don't want parallel package managers for Perl, Python, Ruby, Java etc
all providing software according to quality, stability and security
principles which are unclear to me.
 
I'm happy with C++ and C not picking sides in this regard.
 
/Jorgen
 
--
// Jorgen Grahn <grahn@ Oo o. . .
\X/ snipabacken.se> O o .
Mr Flibble <flibbleREMOVETHISBIT@i42.co.uk>: Dec 15 08:48PM

> door for future job interviews. I doubt I will ever use any of it - I hardly
> use anything from C++14 and so far nothing from 17 in my own projects. In
> fact my last 2 projects work and personal were in plain C.
 
You don't learn C++17 and C++20 for your fucking CV, you learn it because the improvements they bring to C++ are worth using and, thankfully, you will be forced to use them and if you don't like that you can simply fuck off elsewhere: I'm sure you will love Java instead.
 
/Flibble
 
--
"Snakes didn't evolve, instead talking snakes with legs changed into snakes." - Rick C. Hodgin
 
"You won't burn in hell. But be nice anyway." – Ricky Gervais
 
"I see Atheists are fighting and killing each other again, over who doesn't believe in any God the most. Oh, no..wait.. that never happens." – Ricky Gervais
 
"Suppose it's all true, and you walk up to the pearly gates, and are confronted by God," Byrne asked on his show The Meaning of Life. "What will Stephen Fry say to him, her, or it?"
"I'd say, bone cancer in children? What's that about?" Fry replied.
"How dare you? How dare you create a world to which there is such misery that is not our fault. It's not right, it's utterly, utterly evil."
"Why should I respect a capricious, mean-minded, stupid God who creates a world that is so full of injustice and pain. That's what I would say."
Melzzzzz <Melzzzzz@zzzzz.com>: Dec 15 08:49PM

>>what makes me use it. And I hate macros.
 
> If you do cross platform systems or network programming you have no choice but
> to use macros even in C++17.
 
I can use macros but I don't write them...
 
--
press any key to continue or any other to quit...
U ničemu ja ne uživam kao u svom statusu INVALIDA -- Zli Zec
Svi smo svedoci - oko 3 godine intenzivne propagande je dovoljno da jedan narod poludi -- Zli Zec
Na divljem zapadu i nije bilo tako puno nasilja, upravo zato jer su svi
bili naoruzani. -- Mladen Gogala
"Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>: Dec 15 03:11PM -0800

On 12/15/2019 12:49 PM, Melzzzzz wrote:
>> On Sun, 15 Dec 2019 11:18:43 GMT
>> Melzzzzz <Melzzzzz@zzzzz.com> wrote:
>>> On 2019-12-15, boltar@nowhere.co.uk <boltar@nowhere.co.uk> wrote:
[...]
 
>> If you do cross platform systems or network programming you have no choice but
>> to use macros even in C++17.
 
> I can use macros but I don't write them...
 
Have you ever experienced the Boost preprocessor macros? Iirc, it was
the Chaos lib way back. Some hardcore shi%.
 
;^)
Daniel <danielaparker@gmail.com>: Dec 15 06:17AM -0800

In C++ 2017, the disambiguation tag type allocator_arg_t has been redefined from
 
struct allocator_arg_t {}; // (*)
 
to
 
struct allocator_arg_t { explicit allocator_arg_t() = default; }; // (**)
 
New disambiguation tag types introduced with 2017, e.g. in_place_t, have the same form as (**). Was there a technical reason for the change that I'm not
seeing?
 
Thanks,
Daniel
"Öö Tiib" <ootiib@hot.ee>: Dec 15 06:40AM -0800

On Sunday, 15 December 2019 16:17:12 UTC+2, Daniel wrote:
 
> struct allocator_arg_t { explicit allocator_arg_t() = default; }; // (**)
 
> New disambiguation tag types introduced with 2017, e.g. in_place_t, have the same form as (**). Was there a technical reason for the change that I'm not
> seeing?
 
Reason is that letting tag types to be default constructible or
producible from nothing (like from {}) makes no sense and defeats the
purpose of those.
 
It was defect 2510. "Tag types should not be DefaultConstructible"
<http://cplusplus.github.io/LWG/lwg-defects.html#2510>
Daniel <danielaparker@gmail.com>: Dec 15 07:27AM -0800

On Sunday, December 15, 2019 at 9:40:36 AM UTC-5, Öö Tiib wrote:
 
> > struct allocator_arg_t { explicit allocator_arg_t() = default; }; // (**)
 
> It was defect 2510. "Tag types should not be DefaultConstructible"
> <http://cplusplus.github.io/LWG/lwg-defects.html#2510>
 
Thanks,
Daniel
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: