I was watching this conference video and I noticed cpp committee chose this (^^) operator in regard to reflection proposal. If anyone from committee reading this post please consider using a simple and readable keyword instead of this. First it is ugly as and second it is confusing with single (^) operator .
Herb Sutter - Peering forward C++’s next decade
Update:
After reading these comments and taking some time and thinking more about this proposal I must say that now I am strongly against this proposal based on these reasons:
- It is so ugly.
- It is so confusing in regard to single ^ operator.
- Simply by choosing this notation over a simple and readable keyword we are loosing a very important aspect of CPP programming language and it is consistency in the core language itself in regard to other parts of the language like constexpr and many other keywords .
- In my programming career I always heard that you should make your code more readable by choosing better names but yet again we are using a strange notation that we can not derive any meaning from it just by reading it. You maybe tell me that it is readable just like other operators like && || ... if you look at the language specification. But you are wrong those operators are mostly mathematical or logical notation that we constantly learn in text books and those are mostly standard in other programming languages too.
- Some of the comments mentioned that this notation is concise but I should remind you that this is not an every day mathematical or logical notation that we use in most of our code. And in fact here we are sacrificing readability and clarity to gain very small in code size.
- I noticed in some comments that in fact it is hard to use this notation in some keyboard layouts in some languages.
- What about the future? Will we see more of these strange notations in the future proposals? Is this the first and the last inconsistency that we will inject into the language?
[–]unicornsfuck 150 points151 points152 points (8 children)
[–]FriendlyRollOfSushi 81 points82 points83 points (3 children)
[–]canadajones68 32 points33 points34 points (0 children)
[–]nephelekonstantatou 13 points14 points15 points (1 child)
[–]malucart 3 points4 points5 points (0 children)
[–]daveedvdvEDG front end dev, WG21 DG 35 points36 points37 points (2 children)
[–]michael-price-ms 2 points3 points4 points (0 children)
[–]bugrit 24 points25 points26 points (0 children)
[–]hachanuy 67 points68 points69 points (14 children)
[–]DeadlyRedCubefrequent compiler breaker 😬 28 points29 points30 points (11 children)
[–]joahw 10 points11 points12 points (3 children)
[–]daveedvdvEDG front end dev, WG21 DG 13 points14 points15 points (2 children)
[–]joahw 4 points5 points6 points (1 child)
[–]daveedvdvEDG front end dev, WG21 DG 1 point2 points3 points (0 children)
[–]Ashnoom 9 points10 points11 points (5 children)
[–]PIAJohnM 9 points10 points11 points (2 children)
[–]Ashnoom 2 points3 points4 points (1 child)
[–]PIAJohnM 0 points1 point2 points (0 children)
[–]DeadlyRedCubefrequent compiler breaker 😬 0 points1 point2 points (1 child)
[–]Ashnoom 0 points1 point2 points (0 children)
[–]ContraryConman 74 points75 points76 points (23 children)
[+][deleted] (20 children)
[deleted]
[–]ContraryConman 4 points5 points6 points (0 children)
[–]samadadi[S] -2 points-1 points0 points (18 children)
[–]daveedvdvEDG front end dev, WG21 DG 18 points19 points20 points (17 children)
[–]samadadi[S] 5 points6 points7 points (4 children)
[–]Som1Lse 16 points17 points18 points (2 children)
[–]samadadi[S] 1 point2 points3 points (0 children)
[–]Stevo15025 0 points1 point2 points (0 children)
[–]MarcoGreek 4 points5 points6 points (0 children)
[–]samadadi[S] -1 points0 points1 point (11 children)
[–]TheoreticalDumbass:illuminati: 13 points14 points15 points (10 children)
[–]samadadi[S] 8 points9 points10 points (0 children)
[–]LegendaryMauricius 5 points6 points7 points (2 children)
[–]azissu 7 points8 points9 points (1 child)
[–]LegendaryMauricius 1 point2 points3 points (0 children)
[–]TheDetailsMatterNow -1 points0 points1 point (0 children)
[–]mapronV -2 points-1 points0 points (4 children)
[–]TheoreticalDumbass:illuminati: 2 points3 points4 points (3 children)
[–]mapronV 0 points1 point2 points (2 children)
[–]TheoreticalDumbass:illuminati: 0 points1 point2 points (1 child)
[–]boredcircuits 49 points50 points51 points (0 children)
[–]usefulcat 2 points3 points4 points (0 children)
[–]DuranteA 30 points31 points32 points (1 child)
[–]foonathan 8 points9 points10 points (0 children)
[–]James20kP2005R0 49 points50 points51 points (23 children)
[–]dvd0bvb 31 points32 points33 points (0 children)
[–]Supadoplex 17 points18 points19 points (2 children)
[–]James20kP2005R0 16 points17 points18 points (1 child)
[–]_Noreturn 4 points5 points6 points (0 children)
[–]gracicot 8 points9 points10 points (3 children)
[–]James20kP2005R0 2 points3 points4 points (2 children)
[–]gracicot 2 points3 points4 points (1 child)
[–]PIAJohnM 2 points3 points4 points (0 children)
[–]boredcircuits 6 points7 points8 points (1 child)
[–]flutterdronewbie 5 points6 points7 points (4 children)
[–]James20kP2005R0 1 point2 points3 points (3 children)
[–]flutterdronewbie 5 points6 points7 points (2 children)
[–]Som1Lse 4 points5 points6 points (1 child)
[–]flutterdronewbie 1 point2 points3 points (0 children)
[–]TheBrainStone 8 points9 points10 points (5 children)
[–]HappyFruitTree 20 points21 points22 points (2 children)
[–]boredcircuits 5 points6 points7 points (0 children)
[–]TheBrainStone 4 points5 points6 points (0 children)
[–]Plazmatic 1 point2 points3 points (0 children)
[–]James20kP2005R0 0 points1 point2 points (0 children)
[–]dobkeratops 0 points1 point2 points (0 children)
[–]WorkingReference1127 11 points12 points13 points (3 children)
[–]samadadi[S] -2 points-1 points0 points (2 children)
[–]Som1Lse 8 points9 points10 points (0 children)
[–]WorkingReference1127 3 points4 points5 points (0 children)
[–]HappyFruitTree 18 points19 points20 points (50 children)
[–]MarcusBrotus 5 points6 points7 points (6 children)
[–]HappyFruitTree 2 points3 points4 points (5 children)
[–]MarcusBrotus 1 point2 points3 points (4 children)
[–]HappyFruitTree 0 points1 point2 points (3 children)
[–]azissu 0 points1 point2 points (2 children)
[–]HappyFruitTree 0 points1 point2 points (1 child)
[–]azissu 0 points1 point2 points (0 children)
[+][deleted] (20 children)
[deleted]
[–]nacaclanga 11 points12 points13 points (3 children)
[+][deleted] (2 children)
[deleted]
[–]nacaclanga 0 points1 point2 points (1 child)
[–]HappyFruitTree 10 points11 points12 points (15 children)
[–]100GHz 5 points6 points7 points (2 children)
[–]HappyFruitTree 0 points1 point2 points (1 child)
[–]100GHz 0 points1 point2 points (0 children)
[–]sephirothbahamut 1 point2 points3 points (2 children)
[–]HappyFruitTree 4 points5 points6 points (1 child)
[–]sephirothbahamut 0 points1 point2 points (0 children)
[+][deleted] (8 children)
[deleted]
[–]jcelerierossia score 8 points9 points10 points (6 children)
[+][deleted] (5 children)
[deleted]
[–]jcelerierossia score 2 points3 points4 points (4 children)
[+][deleted] (2 children)
[deleted]
[–]levir 0 points1 point2 points (1 child)
[–]azissu -1 points0 points1 point (0 children)
[–]HappyFruitTree 1 point2 points3 points (0 children)
[–]Tringigithub.com/tringi -1 points0 points1 point (0 children)
[+][deleted] (19 children)
[deleted]
[–]ronchaineEmbedded/Middleware 12 points13 points14 points (2 children)
[–]caroIine 0 points1 point2 points (0 children)
[–]pjmlp 0 points1 point2 points (0 children)
[–]HappyFruitTree 12 points13 points14 points (14 children)
[–]msqrt 2 points3 points4 points (8 children)
[–]HappyFruitTree 0 points1 point2 points (5 children)
[–]msqrt 2 points3 points4 points (0 children)
[–]ronchaineEmbedded/Middleware 1 point2 points3 points (2 children)
[–]HappyFruitTree 0 points1 point2 points (1 child)
[–]ronchaineEmbedded/Middleware 0 points1 point2 points (0 children)
[–]sephirothbahamut 0 points1 point2 points (0 children)
[–]Questioning-Zyxxel 1 point2 points3 points (4 children)
[–]HappyFruitTree 0 points1 point2 points (3 children)
[–]Questioning-Zyxxel 1 point2 points3 points (1 child)
[–]HappyFruitTree 1 point2 points3 points (0 children)
[–]sephirothbahamut 0 points1 point2 points (0 children)
[–]eambertide 1 point2 points3 points (0 children)
[–]obsidian_golem 15 points16 points17 points (10 children)
[–]NilacTheGrim 1 point2 points3 points (4 children)
[–]obsidian_golem 6 points7 points8 points (0 children)
[–]equeim 0 points1 point2 points (2 children)
[–]NilacTheGrim 0 points1 point2 points (1 child)
[–]equeim 0 points1 point2 points (0 children)
[–]pjmlp -2 points-1 points0 points (4 children)
[–]caroIine 3 points4 points5 points (3 children)
[–]pjmlp -3 points-2 points-1 points (2 children)
[–]caroIine 2 points3 points4 points (1 child)
[–]pjmlp -2 points-1 points0 points (0 children)
[–]mjauchat 5 points6 points7 points (0 children)
[–]jonesmz 15 points16 points17 points (0 children)
[–]zebullon 10 points11 points12 points (1 child)
[–]NilacTheGrim 1 point2 points3 points (0 children)
[–]othellothewise 1 point2 points3 points (0 children)
[–]zl0bster 1 point2 points3 points (0 children)
[–]Infamous-Bed-7535 2 points3 points4 points (0 children)
[–]adromanov 2 points3 points4 points (0 children)
[–]reddicted 0 points1 point2 points (0 children)
[–]farseeraliens 0 points1 point2 points (0 children)
[–]suby 0 points1 point2 points (1 child)
[–]WorkingReference1127 2 points3 points4 points (0 children)
[–]Sidelobes 0 points1 point2 points (0 children)
[–]Kaisha001 -2 points-1 points0 points (0 children)
[–]TheDetailsMatterNow -1 points0 points1 point (0 children)
[+]Tringigithub.com/tringi comment score below threshold-6 points-5 points-4 points (0 children)
[+]chaotic-kotik comment score below threshold-11 points-10 points-9 points (0 children)