My Thursday talk is now online. Thanks to Mark Bashian and his wonderful team at Bash Films for posting the plenary sessions so quickly… it was great to see each keynote posted the following morning, and the rest of the CppCon 2018 videos will be posted in the next few weeks as usual.
Thanks again to everyone who came! It was a great conference, and we are already looking forward to next year’s CppCon in our new location in Denver, CO, USA.
4 thoughts on “My CppCon 2018 talk is now online”
While I realize the idea behind the metaclass proposal is to fold interface, property, COM class, etc. into one language feature, the way it’s being described, especially with the class(foo) syntax, and the possible class(foo, bar, bat, etc.) expansion to it, it seems like it’s some kind of class aspects feature, and I would imagine they’d be more often used in a composed way, where a library is written with a bunch of common patterns as metaclasses, and then every class just uses some combination of them. Basically, I’d expect to see something like a Gang of Four library where every pattern is in there, and it’s easy to just do something like class(factory, observer), rather than implementing those patterns by hand.
On properties.. how would a property like area (width * height) work, how would it access the width and the height (that live in the parent class)?
Are metaclasses going to be out in the wild around the same time as C++20, as TS at least?
As side note (Bjarne’s talk), I liked the originally proposed terse syntax much better than the trailing auto we are going to get (const Sortable& versus const Sortable auto&). If I write Sortable&&, *of course* it is a forwarding reference, specifying a concept is not the same as specifying a type!
Great talk, thanks! I know the metaclass syntax is still in flux, and the feature may not even make it all the way to the standard, but please, please, please fight back against this “class(etc)” nonsense.
I can live with the other syntax changes in the authoring side of things, taking a read-only source argument and generating the output. That seems an entirely reasonable alternative. It seems likely that authoring metaclasses will be limited to experts, either for standardisation or within organisations, so either way the syntax won’t affect a huge population.
But the whole point of metaclasses, IMO, is for the users! With the greatest respect to all the committee people donating their time and expertise, they need to be reminded who this language is for. I for one want to write “interface IEnumerable” and “property Name” and “collection linked_list” and so on and I’d be mightily surprised if a survey of C++ users disagreed.
Comments are closed.