News for hackers. Stuff that matters.
Re:Coroutines are now in Clang trunk, libc++ by Veedrac on Friday May 26, 2017 @10:41AM (#14424359)
That's excessively tame for C++. If you want to really see the difference, look at actual libraries. Tracing through libcxx is a lot of fun. Here's <optional>, for example.

https://github.com/llvm-mirror/libcxx/blob/master/include/op...

Re:Coroutines are now in Clang trunk, libc++ by dmix on Friday May 26, 2017 @10:47AM (#14424412)
I'm sure there's plenty of uglier stuff on far bigger scales. But good design is all in the small details.

Looking at this one small syntactic difference explains a lot about why C++ is as ugly as it is. It has to pack in a lot of complexity everywhere, even at the most basic level, such as how to label a lambda expression. The ugliness may simply be a cost of offering much more power (simplicity is difficult/impossible when you need to support complex base abstractions). But it's still ugly. And therefore a big reason why it's not very Pythonic as the OP said.

Re:Coroutines are now in Clang trunk, libc++ by smitherfield on Friday May 26, 2017 @12:58PM (#14425500)
Most of the ugliness there is coming from using "__"-prefixed identifiers (reserved for implementations) and macros hiding code specific to certain platforms or versions of the standard.
Re:Coroutines are now in Clang trunk, libc++ by Veedrac on Friday May 26, 2017 @01:47PM (#14425884)
Even if those weren't directly caused by flaws in C++, a find/replace to remove "__"s and the five conditional macros does little to make this code less complex.