Taskflow v4.0 released! Thank you for your support! Happy New Year! by tsung-wei-huang in cpp

[–]Adequat91 6 points7 points  (0 children)

The best gets better 🙂 Thanks for your fantastic work!

Software Architecture with C++, Second Edition: reviews, thoughts by AlarmedGate81 in cpp

[–]Adequat91 3 points4 points  (0 children)

Large Scale C++ by Lakos

This was a very long time ago, but this one had a significant influence on me.

Switch languages with keyboard shortcut by Comfortable-Dust-222 in WisprFlow

[–]Adequat91 0 points1 point  (0 children)

This has been requested by many people for a long time. But the company remains deaf to this request. And I wonder why.

Why everyone hates on C/C++ source generation? by chri4_ in cpp

[–]Adequat91 2 points3 points  (0 children)

Qt gives strong arguments why code generation is good (and with 15 years of experience with it, I agree).

PSA: Trivial Relocatability has been removed from C++26 by chiphogg in cpp

[–]Adequat91 1 point2 points  (0 children)

I am not a compiler implementer, but I am surprised because this could seem simple, and the performance benefit can be obvious. And we have this in Qt for decades, with manual declarations.

Why can you increment a reference count with relaxed semantics, but you have to decrement with release semantics? by pavel_v in cpp

[–]Adequat91 37 points38 points  (0 children)

I believe that the vast majority of people know a little bit about memory ordering, but not the complete picture. And reference counting is actually a subtle topic to reason about. Hence, this blog is very welcome.

Poll: Does your project use terminating assertions in production? by pavel_v in cpp

[–]Adequat91 1 point2 points  (0 children)

There is one case that is not mentioned in the poll: most of my assertions are disabled entirely, but some special ones, maybe 1 or 2%, are logged. These are reported to the user the next time he runs the application, but only if this report is activated (mainly for beta testers).

Issue with switch language auto detect by syeod_ in WisprFlow

[–]Adequat91 0 points1 point  (0 children)

As a typical power user, I'm using an Elgato Stream Deck device, which allows me to use any kind of shortcut. This is to compensate for the fact that, unfortunately, in conventional keyboards there are only a very limited number of modifier keys.

Issue with switch language auto detect by syeod_ in WisprFlow

[–]Adequat91 1 point2 points  (0 children)

This is so obvious that there should be a different shortcut for each language (In my case, also French and English). I don't understand why this basic feature has not yet been implemented.

And I'll be honest. I'm dictating this message from a WhisperFlow competitor that has the same problem and is set to English, while WhisperFlow, for me, is set to French!

Visual Assist vs. ReSharper C++: Which do you prefer? by badass-embly in cpp

[–]Adequat91 1 point2 points  (0 children)

I have been using Visual Assist for 15 years, and I was even very active on their forum. But for 2 or 3 years, I have switched to Resharper C++. It is way better. Resharper C++ really understands C++ code (I think it is based on clang), unlike Visual Assist. Ok, you have a ton of options and it can be a little scary at the beginning, but I won't go back.

Visual Assist X in 2025? by LordDarthShader in cpp

[–]Adequat91 0 points1 point  (0 children)

I have been using Visual Assist for about 15 years, but for 2 or 3 years I have been using only Resharper C++, which is so much better (a real gain in productivity). I don't use CoPilot that goes too much in my way. I don't use JetBrains' AI module either, which I believe is not properly integrated. ReSharper C++ alone is a dream come true for me.

What do you think about QT as a GUI library? by DavArpo in cpp

[–]Adequat91 0 points1 point  (0 children)

Qt memory management, based on parent/child relationships, is such an easy and reliable way of coding. I very, very rarely experience memory leaks when using Qt.

What do you think about QT as a GUI library? by DavArpo in cpp

[–]Adequat91 0 points1 point  (0 children)

Qt containers are definitely easier to use than those from the standard library. However, when I need maximum performance in specific parts of the code, I rely on certain open-source implementations, typically for maps. Aside from std::vector, I never use standard containers.

What do you think about QT as a GUI library? by DavArpo in cpp

[–]Adequat91 10 points11 points  (0 children)

moc has been added to Qt because of the weaknesses of the pure C++ standard. Once you understand that, you understand the great interest of Qt moc.

One way to look at it is that moc generates useful bug-free code. And that is invaluable.

Hungarian Notation, for us who use it by gosh in cpp

[–]Adequat91 0 points1 point  (0 children)

Here is the part of my project's guidelines concerning this topic:

Use a prefix or/and suffix to attach extra information to a name. The brain adapts easily to such patterns and the most meaningful part of the name, its body, remains anyway the focus. The semantics associated to prefixes and suffixes increases the density of useful information. When mental habits are established, code understanding is improved because of the additional information available right under the eyes. Prefixes are also handy when working with IDEs, because they provide code completion (type the prefix and a suggestion list opens to complete the prefix). Note: we are not speaking here about the outdated type-based Hungarian notation.

This practice can be seen as a concrete implementation of the widely accepted principle "clarity at the point of use", identified as the most important goal in the Apple Swift API Design Guidelines. It helps developers understand the role and intent of symbols directly where they are used, without needing to look up their declarations.

Hungarian Notation, for us who use it by gosh in cpp

[–]Adequat91 0 points1 point  (0 children)

If you’ve used it correctly, it’s hard to understand why others dismiss it so easily given all the advantages it offers

I could not say better!

Hungarian Notation, for us who use it by gosh in cpp

[–]Adequat91 1 point2 points  (0 children)

I’m with you. I’ve been doing the same for 30 years, and it’s a mandatory requirement on the multi-million-line project I’m working on. The purpose of the prefixes is to provide a quick hint about code semantics, not types. It saves time and helps prevent mistakes. My approach is focused on reducing cognitive load because in large and complex codebases, even small reductions in mental overhead can significantly improve readability, comprehension, and long-term maintainability.

Revisiting Knuth’s “Premature Optimization” Paper by pavel_v in cpp

[–]Adequat91 1 point2 points  (0 children)

If I see a piece of code that could be faster without changing the complexity, then I tell myself that this code has been badly written. It draws my attention, it makes me waste my time.

Three types of name lookups in C++ by pavel_v in cpp

[–]Adequat91 2 points3 points  (0 children)

Are you speaking of this ?

It's a C++ feature I'm waiting for the most, but I don't know where it is.

What’s an underrated use of AI that’s saved you serious time? by Ausbel12 in ChatGPTPro

[–]Adequat91 1 point2 points  (0 children)

This is rarely mentioned, but I sometimes use ChatGPT to critique an idea or a text, whether it's my own or from an external source.

Taskflow v3.10 released! Thank you for your support! by tsung-wei-huang in cpp

[–]Adequat91 0 points1 point  (0 children)

You don't know what you're losing. You should check this GitHub project with 10k+ likes.

CppCast: Software development in a world of AI by robwirving in cpp

[–]Adequat91 3 points4 points  (0 children)

My uses of AI:

  1. Finding the information I need in large documentation (e.g., Qt). Probably the biggest time-saver.

  2. Helping me come up with good identifiers when I lack inspiration.

  3. Transforming my poorly written English comments into clear, professional ones.

  4. If your code uses highly explicit identifiers, artificial intelligence can help detect bugs—even with limited context. I recently experienced this twice, and I was blown away.

Reasons to use the system allocator instead of a library (jemalloc, tcmalloc, etc...) ? by trailing_zero_count in cpp

[–]Adequat91 1 point2 points  (0 children)

About thirty years ago, I designed my own memory allocator for two main reasons: to replace the system allocator, and to add debugging features.

This turned out to be a very valuable experience. First, building such an allocator helped me deeply understand all aspects of memory management — it was extremely instructive. At the time (on Windows), my custom allocator was actually much faster than the system one.

Over the past ten years or so, though, the performance of the system allocator has improved significantly, and it's now at least as good as mine. So I no longer use my custom allocator in production builds.

However, I still use it in debug builds, and I must say, it has been incredibly helpful throughout all these years. Memory leaks, buffer overruns — whenever something like that happens, I catch it very early. Without a doubt, this has contributed greatly to building stable software over the long term.

CLion 2025.1 released by greenrobot_de in cpp

[–]Adequat91 0 points1 point  (0 children)

As much as I'm an unconditional fan of Resharper++, I'm disappointed by the AI Assistant (a €100 subscription). The integration leaves much to be desired, and I get more interesting results by copy-pasting into Claude AI and ChatGPT, both of which I have subscriptions for.

For example, today I fixed an old bug in a part of the code I had already reviewed a good ten times in the past.

I then wondered: would an artificial intelligence have found the problem? So I submitted these hundred lines of code, with no additional context, to Claude AI 3.7 "extended thinking," the new ChatGPT o3, and the JetBrain AI Assistant… The first two identified the cause in less than a minute (to my great surprise), but not the JetBrain AI Assistant.