|
Presto posted:We have this already. Long story short, I was seeing a gastroenterologist for a while, and to try to see what was wrong with me, I swallowed a capsule with a camera and an LED flash that transmitted pictures to a capture device I wore for a day until the capsule... exited. We don't really have it in the widespread trendy way that I meant. I guess you can start calling yourself an influencer once people start twitch streaming their colon
|
# ? Jun 2, 2021 00:44 |
|
|
# ? Jun 5, 2024 23:47 |
|
Absurd Alhazred posted:Gastrointestinal system any% speedrun I always screw it up at the end on the frame-perfect loaf pinch.
|
# ? Jun 3, 2021 06:34 |
|
Someone at work was looking into what would be involved in moving our legacy C++ projects to C++20 and warned that this does something different now:code:
code:
|
# ? Jun 3, 2021 11:28 |
|
Hammerite posted:Someone at work was looking into what would be involved in moving our legacy C++ projects to C++20 and warned that this does something different now: That looks like the "most vexing parse", and I don't think C++20 changes anything in this regard. I'd ask them where this information comes from.
|
# ? Jun 3, 2021 11:50 |
|
Then I might have misunderstood what my colleague said. They were describing something else that changed regarding changes to variable declarations and implicit conversions, and said something like "you might be tempted to write code like this, but don't".
|
# ? Jun 3, 2021 12:15 |
|
Hammerite posted:Then I might have misunderstood what my colleague said. They were describing something else that changed regarding changes to variable declarations and implicit conversions, and said something like "you might be tempted to write code like this, but don't". the most vexing parse stuff was addressed in c++11 by adding a new language feature uniform type initialization, so it's not that the old code wouldn't work, it's that you should generally be using uniform initialization when applicable to avoid the problem and old style would be frowned upon. problems are generally addressed by adding new features in C++, and breaking changes are avoided (there usually are documented breaking changes, but can't remember one that wasn't in esoteric functionality.)
|
# ? Jun 3, 2021 13:08 |
|
While trying to replace a foreach (for no evident reason), this dude stumbled upon just the most broken possible way to try and use an enumerator:code:
|
# ? Jun 3, 2021 17:31 |
|
Hammerite posted:Someone at work was looking into what would be involved in moving our legacy C++ projects to C++20 and warned that this does something different now: I wanted to go back to C++ someday, but if It dropped the C syntax core beliefs this much maybe will be a hard pass. What a ugly re-interpretation of ( and ).
|
# ? Jun 3, 2021 17:55 |
|
Tei posted:I wanted to go back to C++ someday, but if It dropped the C syntax core beliefs this much maybe will be a hard pass. What a ugly re-interpretation of ( and ). This has always been the case in C++, it is not a C++11/14/17/20 phenomenon. The name "most vexing parse" was coined by Scott Myers in Effective C++ 20 years ago: https://en.wikipedia.org/wiki/Most_vexing_parse
|
# ? Jun 3, 2021 17:58 |
|
more falafel please posted:This has always been the case in C++, it is not a C++11/14/17/20 phenomenon. The name "most vexing parse" was coined by Scott Myers in Effective C++ 20 years ago: https://en.wikipedia.org/wiki/Most_vexing_parse My editor/compiler was Borlands C++ and sometimes compiling for watcom. So probably more than 20 years ago. Anyway I never used the most exoteric features. Only OOP and general syntax for human beings.
|
# ? Jun 3, 2021 18:03 |
|
Tei posted:I wanted to go back to C++ someday, but if It dropped the C syntax core beliefs this much maybe will be a hard pass. What a ugly re-interpretation of ( and ). This is a problem that occurs in C as well, it's just rarer that it comes up. It's rooted in an ambiguity in C syntax, and C++ helps to resolve the ambiguity by adding alternatives, not by dropping C syntax core beliefs
|
# ? Jun 3, 2021 23:12 |
|
Right. The thing that’s vexing about it is that it’s grammatically ambiguous and so has to be parsed as a function declaration for C compatibility. So if you’re upset that it gets parsed as a function declaration, you should be mad at C, not C++.
|
# ? Jun 3, 2021 23:17 |
|
I'm more upset that people would intentionally write code that ambiguous in a situation that has been known for decades to be one of the ultimate possible ambiguities in C/C++ syntax.
|
# ? Jun 3, 2021 23:24 |
|
Be mad at C.
|
# ? Jun 3, 2021 23:36 |
|
ultrafilter posted:Be mad at C. Thread title?
|
# ? Jun 3, 2021 23:51 |
|
No, you don't get it, the beauty of C is that it's a simple language [adds two numbers together, potentially invoking undefined behaviour]
|
# ? Jun 4, 2021 00:03 |
|
Doom Mathematic posted:No, you don't get it, the beauty of C is that it's a simple language [adds two numbers together, potentially invoking undefined behaviour] Username / Post combo
|
# ? Jun 4, 2021 00:39 |
|
rjmccall posted:Right. The thing that’s vexing about it is that it’s grammatically ambiguous and so has to be parsed as a function declaration for C compatibility. So if you’re upset that it gets parsed as a function declaration, you should be mad at C, not C++. Nah I’m gonna be mad at C++, how the hell is it C’s fault that C++ insists on preserving compatibility in the weirdest edge cases when it’s happily broken compatibility on a bunch of very common things.
|
# ? Jun 4, 2021 02:49 |
|
C doesn't have function style initializer syntax and doesn't have functional casting, so you can't cause the most vexing parse through those means. Ambiguity caused by those are explicitly a C++ problem.
|
# ? Jun 4, 2021 03:09 |
|
"Text that could be a declaration or a variable definition should be treated as a declaration" (C) + "You may omit names when declaring a function/function pointer e.g. typedef int (*typeAlias)(float,float)" (C) + "You can define and construct objects with parenthesis e.g. Foo a(1,2,3)" (C++) combine to do a stupid that nobody realized until it was baked in
|
# ? Jun 4, 2021 04:20 |
|
The third one seems pretty stupid on the face of it
|
# ? Jun 4, 2021 04:29 |
|
I think it comes from C with Classes (that would later become C++) originally being a text preprocessor that took C+some extra magic words and spat out plain C code.
|
# ? Jun 4, 2021 04:49 |
|
Kazinsal posted:I'm more upset that people would intentionally write code that ambiguous in a situation that has been known for decades to be one of the ultimate possible ambiguities in C/C++ syntax. I'm a C# programmer who has to occasionally, very grudgingly, write code in C++ for our legacy applications. If your language has "ultimate ambiguities" for decades then it can eat my rear end!!!
|
# ? Jun 4, 2021 09:26 |
|
xtal posted:The third one seems pretty stupid on the face of it With the benefit of thirty years of hindsight the second one is stupid as well. Modern languages use a placeholder for "I don't have a name to provide for this thing", typically _, and it's concise, legible, and unambiguous. The first one, IDK honestly. Like, I have no idea what kind of ancient C code would break if the rule were reversed or (my gut instinct) if the ambiguity were required to be a compile-time error.
|
# ? Jun 4, 2021 09:46 |
|
I'm probably being dense but I can't think of a (C) example of a statement that the first one covers. e: And related but not quite the same, it's stupid that code:
|
# ? Jun 4, 2021 10:22 |
|
NihilCredo posted:Like, I have no idea what kind of ancient C code would break
|
# ? Jun 4, 2021 12:19 |
|
Tei posted:Only Europeans will get this joke. We still get that message in the UK despite being neither EU nor EEA members any more. Brexit meant nothing
|
# ? Jun 4, 2021 13:54 |
|
Hammerite posted:I'm a C# programmer who has to occasionally, very grudgingly, write code in C++ for our legacy applications. If your language has "ultimate ambiguities" for decades then it can eat my rear end!!! UB could do that, yes.
|
# ? Jun 4, 2021 15:16 |
|
Bruegels Fuckbooks posted:the most vexing parse stuff was addressed in c++11 by adding a new language feature uniform type initialization, so it's not that the old code wouldn't work, it's that you should generally be using uniform initialization when applicable to avoid the problem and old style would be frowned upon. problems are generally addressed by adding new features in C++, and breaking changes are avoided (there usually are documented breaking changes, but can't remember one that wasn't in esoteric functionality.) Except uniform initialization is also terribly broken, and we want back to parentheses instead.
|
# ? Jun 4, 2021 22:24 |
|
When I write C# it feels like my lips have been sewn around someone else's rear end in a top hat, and while my mouth hasn't been filled with poo poo yet I know it's inevitable so I exist in a constant state of fear and anticipation
|
# ? Jun 4, 2021 22:48 |
|
QuarkJets posted:When I write C# it feels like my lips have been sewn around someone else's rear end in a top hat, and while my mouth hasn't been filled with poo poo yet I know it's inevitable so I exist in a constant state of fear and anticipation That's one hell of a metaphor. What has you so afraid of C#? It's always seemed like the PB&J or Toyota Camry of software development: there's nothing remotely interesting or sexy about it, but it's good at suiting simple needs, and most of the time that's all people really need anyway.
|
# ? Jun 4, 2021 23:13 |
|
In my opinion C# is the most pleasantly designed of modern major languages, largely because it has a big paid development team and is allowed to have breaking changes in the language from older versions. What don't you like about it?
|
# ? Jun 5, 2021 01:31 |
|
Foxfire_ posted:In my opinion C# is the most pleasantly designed of modern major languages, largely because it has a big paid development team and is allowed to have breaking changes in the language from older versions. What don't you like about it? Many people simply don't want to admit that Microsoft can design a really good language by paying developers large sums of money.
|
# ? Jun 5, 2021 01:36 |
|
Kazinsal posted:Many people simply don't want to admit that Microsoft can design a really good language by paying developers large sums of money. Is it because google couldn't?
|
# ? Jun 5, 2021 01:38 |
|
Kazinsal posted:Many people simply don't want to admit that Microsoft can design a really good language by paying developers large sums of money. There's also a lot of lingering distrust of Microsoft given the shenanigans that they pulled in the 90s and 00s. It's taught a lot of people making the decisions to be wary.
|
# ? Jun 5, 2021 02:07 |
|
Volmarias posted:There's also a lot of lingering distrust of Microsoft given the shenanigans that they pulled in the 90s and 00s. It's taught a lot of people making the decisions to be wary. My favourite example of them turning their act around is GitHub free accounts having way more features available after being bought by Microsoft than before. Don’t need to milk ten dollars a month out of individual devs when you have big daddy Redmond bucks behind you.
|
# ? Jun 5, 2021 02:34 |
|
Kazinsal posted:My favourite example of them turning their act around is GitHub free accounts having way more features available after being bought by Microsoft than before. Don’t need to milk ten dollars a month out of individual devs when you have big daddy Redmond bucks behind you. GitHub rakes in cash with the corporate appliance
|
# ? Jun 5, 2021 02:40 |
|
Volmarias posted:There's also a lot of lingering distrust of Microsoft given the shenanigans that they pulled in the 90s and 00s. It's taught a lot of people making the decisions to be wary. They're still pulling the same stuff like this year.
|
# ? Jun 5, 2021 03:01 |
|
Space Gopher posted:That's one hell of a metaphor. it's also good for various complicated needs too
|
# ? Jun 5, 2021 03:22 |
|
|
# ? Jun 5, 2024 23:47 |
|
xtal posted:They're still pulling the same stuff like this year. What'd they do?
|
# ? Jun 5, 2021 03:50 |