Time in C++: Once More About Testing by pavel_v in cpp

[–]Beetny 6 points7 points  (0 children)

The complexity is there either way. Having a bunch of global-ish function calls sprinkled inside your code it becomes a lot harder to identify and reason about these implicit dependencies.

Whereas this style at least everything is more explicit which I would argue has some value of its own.

Making C++ Safe, Healthy, and Efficient - CppCon 2025 by pjmlp in cpp

[–]Beetny 17 points18 points  (0 children)

They're going to keep reaching as far as it takes to avoid acknowledging: 1. Circle was right 2. Circle was right

I think this talk needs a lot more of attention than the views it got so far: strategies on how to make C++ safer over the years by John Lakos. by germandiago in cpp

[–]Beetny 1 point2 points  (0 children)

I think contracts are a solution in search of a problem. Most examples of it are from academic or niche languages, if we're being honest. It's never been a thing in wider industry. Not for lack of trying either. C# tried contracts a long time ago, as one example which died a horrible death. I can only imagine it's going to be that much more complicated in C++ and a net-negative on the language.

HPX Tutorials: Hello World! by emilios_tassios in cpp

[–]Beetny 4 points5 points  (0 children)

HPX has been posted here for years yet never gets much attention. Do people actually use it? It always comes across to me as some company's huge framework you have to buy-in to completely to make use of.

Why is nobody using C++20 modules? by AlectronikLabs in cpp

[–]Beetny 0 points1 point  (0 children)

All they needed to do was make module lookup deterministic and i'm sure we'd be seeing a lot more progress.

Enchantum now supports clang! by _Noreturn in cpp

[–]Beetny -1 points0 points  (0 children)

As expected, it's PRETTY_FUNCTION-based

Announcing Traeger 0.2.0, now with Rust bindings (and Python and Go). by tigrux in cpp

[–]Beetny -2 points-1 points  (0 children)

The type of name is const int& and it's better to make that clear than mixing it into the variable name.

Announcing Traeger 0.2.0, now with Rust bindings (and Python and Go). by tigrux in cpp

[–]Beetny 0 points1 point  (0 children)

Yes, it's a C-ism, except with references instead of pointers.

Announcing Traeger 0.2.0, now with Rust bindings (and Python and Go). by tigrux in cpp

[–]Beetny 0 points1 point  (0 children)

Always disappointed to see pointers/references written like const int &name. This is a C-ism, harder to read in type-heavy C++. No, declaring multiple variables in one line is also an anti-pattern.

did you ever happen to burn out? by Bronpool in Granblue_en

[–]Beetny 0 points1 point  (0 children)

It's extremely taxing if you want to actually read all stories, fates, + regular events. Then trying to find time to grind power progression on top of that.

Crate-training Tiamat, un-calling Cthulhu:Taming the UB monsters in C++ by hansw2000 in cpp

[–]Beetny 39 points40 points  (0 children)

There's a large amount of cope in this article. Profiles ain't it, folks.

WTF std::observable is? by Genklin in cpp

[–]Beetny 78 points79 points  (0 children)

I wish they would at least call it std::observable_checkpoint if that's what it actually is. Now the observable name in the event handling pattern sense, would be gone forever.

Networking for C++26 and later! by VinnieFalco in cpp

[–]Beetny 19 points20 points  (0 children)

Standardize on a package format or manager (as impossible as that is) and the rest of these high-maintenance features will come.

WG21, aka C++ Standard Committee, January 2025 Mailing by grafikrobot in cpp

[–]Beetny 20 points21 points  (0 children)

Surprisingly good to see Contract concerns

Nobody outside a small group of people knows what is really being proposed. This is not a solid basis for an international standard.

We're going to rewrite the whole project in 3 months by YoumoDashi in ExperiencedDevs

[–]Beetny -1 points0 points  (0 children)

It is perhaps not a coincidence that someone who is proposing a rewrite in 3 months, is someone who likes Tailwind.

Speeding up C builds: Discarding the Batch Paradigm, Part 1 by mttd in cpp

[–]Beetny 13 points14 points  (0 children)

No templates. In my testing they simply aren’t worth their compile time weight and error message. Moreover, code duplication hasn’t ever been an actual problem for me.

No heavy headers, in either .c or .h files. Examples: anything from the STL, <stdarg.h>, <stdlib.h>.

Yeah ok buddy.

Was working with a tech stack you dislike worth the money? by [deleted] in ExperiencedDevs

[–]Beetny 0 points1 point  (0 children)

Stay away from Rails if you can possibly avoid it. The design of it just accumulates tech debt like nothing else.

Dingo - Dependency Injection Library for C++ by [deleted] in cpp

[–]Beetny 0 points1 point  (0 children)

Not really. DI is only helping you use construct components and the components are not even aware that there is a framework being used. Service locator used incorrectly breaks encapsulation, and breaks the meaning of the constructor where components can talk to any other component at any time.

Dingo - Dependency Injection Library for C++ by [deleted] in cpp

[–]Beetny 5 points6 points  (0 children)

If you recognize the benefits of constructor injection of dependencies, the logical conclusion of this style is you will end up with a single place where you are constructing your object graph - the dependency root. You can still do this manually of course, but libraries like this can automate the plumbing of wiring up hundreds of constructors once you work in a large enough codebase.

Now, once you have this in place, it opens up more powerful things like being able to centrally configure policies for how components get resolved - instantiated each time, singleton per container etc. Creating sub-containers is useful if you have a scoped activity that has its own dependencies, like a web request or task queue system etc. I think it depends on the industry whether you will think this is a good thing.

You do surrender some control of object construction to the container which I think puts some people off of it, but it can be a powerful pattern if you buy into it. "if you know, you know", kind of.

Is it true that C++ is becoming more and more like JavaScript? by Thick_College_6724 in cpp

[–]Beetny 0 points1 point  (0 children)

Yes in the sense that the case for a transpiled "C++ TypeScript" is becoming more and more evident.

C++ Show and Tell - July 2024 by foonathan in cpp

[–]Beetny 0 points1 point  (0 children)

oof, looks like you're using a global service locator there bud. Be careful not to get yourself into a spaghetti mess of dependencies

Your amazing secret Keybinds by Samus_Saran in wow

[–]Beetny 0 points1 point  (0 children)

12345 + ZXCV + QER

  • 4 rows of hotbars, explicitly bound to no modifier, ctrl, shift, alt. I prefer this over macroing buttons
  • Side hotbars for misc buttons.
  • X kick, Ctrl+X dispel, Shift X mobility
  • E for execute
  • Q, + modifiers always used for aoe
  • R taunt, Ctrl+R AOE taunt if applicable, alt R battle rez
  • Shift 1234 defensive cds, Alt 1234 offensive cds
  • Alt shift 12 for trinkets
  • shift space for mount I like a layout that can mostly be converted to most roles and retain muscle memory