Serving the Quantitative Finance Community

 
User avatar
Cuchulainn
Topic Author
Posts: 20204
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

C++20

October 6th, 2017, 3:44 pm

 
User avatar
katastrofa
Posts: 7430
Joined: August 16th, 2007, 5:36 am
Location: Alpha Centauri

Re: C++20

October 9th, 2017, 1:20 am

 
User avatar
Grodesby
Posts: 2
Joined: August 15th, 2010, 4:07 pm

Re: C++20

October 11th, 2017, 1:38 pm

Nice rant on the state of the Modules Tech Spec:
https://izzys.casa/posts/millennials-ar ... es-ts.html
 
User avatar
Cuchulainn
Topic Author
Posts: 20204
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Re: C++20

October 11th, 2017, 8:11 pm

Nice rant on the state of the Modules Tech Spec:
https://izzys.casa/posts/millennials-ar ... es-ts.html
Means it's not shipping any time soon.
C# has got its act together, C++ muddling along.
https://msdn.microsoft.com/en-us/library/ms973231.aspx
 
User avatar
ExSan
Posts: 493
Joined: April 12th, 2003, 10:40 am

Re: C++20

October 12th, 2017, 11:09 pm

°°° About ExSan bit.ly/3U5bIdq °°°
 
User avatar
katastrofa
Posts: 7430
Joined: August 16th, 2007, 5:36 am
Location: Alpha Centauri

Re: C++20

October 12th, 2017, 11:21 pm

All I understood from that rant is that (C++?) modules are not what I (a millennial) think they are :-) So I checked again and, as I thought, C++ modules obviously don't require headers, and consequently give considerable compile time improvement (which also saves development and debugging time) and don't use preprocessor, which translates to neater and more transferable code (not perfect, but always something). I'm sometimes curious what kind of a job and code some people do that they seem to be affected by every possible flaw of the C++ features... Luckily, I'm not one of them.

I had a chance to appreciate the effectiveness of using modules in Fortran in my old research institute, when I and my colleagues were able to import over 10-year-old code written by people we hadn't even met, and re-use it in a straightforward manner. I've heard that large firms have decisive power in the C++ standard development. Since modules are perfect for large projects (i.a. for the above reasons) I'm surprised that they didn't materialise in earlier versions.
 
User avatar
Cuchulainn
Topic Author
Posts: 20204
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Re: C++20

October 14th, 2017, 1:40 pm

Are modules self-describing and capable of reflection?
 
User avatar
Cuchulainn
Topic Author
Posts: 20204
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Re: C++20

October 14th, 2017, 4:46 pm

PPL and TBB already support C++ multitasking, parallel design patterns and more.
The standard has to catch up..

Parallel ST:L algorithms in C++17.
 
User avatar
Cuchulainn
Topic Author
Posts: 20204
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Re: C++20

September 14th, 2020, 4:43 pm

Spaceship operator in C++20; saves a lot of code intake
class Point 
 { // Generate spaceship operators

     int x;
     int y;
 public:
     Point(int X, int Y) : x(X), y(Y) {}

     auto operator<=>(const Point&) const = default;
     // ... non-comparison functions ... 'natural' comparison
 };
 
User avatar
Cuchulainn
Topic Author
Posts: 20204
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Re: C++20

September 15th, 2020, 3:23 pm

C++23 plans
  • Any C++23-era WG21 subgroup meeting works on no other new material until all possible progress on these items is exhausted first. As stated in the abstract, these items are. ...
  • Library support for coroutines. ...
  • Executors. ...
  • Networking. ...
  • A modular standard library. ...
  • Reflection. ...
  • Pattern matching. ...
  • Contracts.
 
User avatar
ISayMoo
Posts: 2332
Joined: September 30th, 2015, 8:30 pm

Re: C++20

September 15th, 2020, 6:35 pm

It feels like they're trying to become everything to everyone.
 
User avatar
Cuchulainn
Topic Author
Posts: 20204
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Re: C++20

September 16th, 2020, 8:42 am

I am wondering when keyword virtual will become a thing of the past and purged by the high priests.

std::signals2, CRTP and parametric polymorphic design patterns would be better (e.g. boost::factory<>).

C++ is looking like a mini-Haskell. Still quite a bit of boiler-plate code but it is getting better.

//
Even 30 years ago, I stated Composition >> Inheritance. It should be possible to do it as part of the language in a generic way, like  an Architectural Description Language (ADL). This would lead to a new era of software plumbing and assembly, especially with C++17 Concepts. But that is not the way developers think at the moment. Many are syntax and bottom-up driven.

Like a ball and socket. All the outdated GOF patterns can be subsumed under this new paradigm.

ImageImage
 
User avatar
katastrofa
Posts: 7430
Joined: August 16th, 2007, 5:36 am
Location: Alpha Centauri

Re: C++20

September 16th, 2020, 4:36 pm

Apropos the future of programming (and programmers). According to GPT-3, syntax = concept.
 
User avatar
Cuchulainn
Topic Author
Posts: 20204
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Re: C++20

September 16th, 2020, 6:53 pm

Apropos the future of programming (and programmers). According to GPT-3, syntax = concept.
I doubt they have studied Wittgenstein.
Sounds like the AI fantasy carousel all over again.
 
User avatar
Cuchulainn
Topic Author
Posts: 20204
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Re: C++20

September 16th, 2020, 6:59 pm

Jonathan Swift describes similar attempts by the Laputans

Six hours a day the young students were employed in this labour; and the professor showed me several volumes in large folio, already collected, of broken sentences, which he intended to piece together, and out of those rich materials, to give the world a complete body of all arts and sciences; which, however, might be still improved, and much expedited, if the public would raise a fund for making and employing five hundred such frames in Lagado, and oblige the managers to contribute in common their several collections.

He assured me “that this invention had employed all his thoughts from his youth; that he had emptied the whole vocabulary into his frame, and made the strictest computation of the general proportion there is in books between the numbers of particles, nouns, and verbs, and other parts of speech.” 

Another great advantage proposed by this invention was, that it would serve as a universal language, to be understood in all civilised nations, whose goods and utensils are generally of the same kind, or nearly resembling, so that their uses might easily be comprehended. And thus ambassadors would be qualified to treat with foreign princes, or ministers of state, to whose tongues they were utter strangers. 

Swift must have been thinking about software or AI here

There was a most ingenious architect, who had contrived a new method for building houses, by beginning at the roof, and working downward to the foundation; which he justified to me, by the like practice of those two prudent insects, the bee and the spider. 

Image