I agree with you, but considering the state of modern software, I think the values "truth and correctness" have been abandoned by most developers a long time ago.
See the first IpAddr example here[1], where you have separate variants, both with string representations. You can't do this with std::variant. You have to use separate types.
I see what you mean now, thanks. To reproduce that example with std::variant I would need some kind of strong type alias, which as far as I know is missing from C++; so the only feasible way to do that would be wrapping the string in another class or struct.
> Are people making user facing apps in rust with uis?
We are talking not only about Rust, but also about C and C++. There are lots of C++ UI applications. Rust poses itself as an alternative to C++, so it is definitely intended to be used for UI applications too - it was created to write a browser!
At work I am using tools such as uv [1] and ruff [2], which are user-facing (although not GUI), and I definitely appreciate a 16x speedup if possible.
The engine being written in C++ does not mean the application is. You're conflating the platform with what is being built on top of it. Your logic would mean that all Python applications should be counted as C applications.
I don't know the details since I'm mainly a windows dev, but when porting to linux, TBB has always been a huge pain in the ass since it's a suddenly additionally required dependency by gcc. Using C++ and std::thread.
Also clang, and in general parallel algorithms aren't available outside of platforms not supported by TBB.
C++26 will get another similar dependency, because BLAS algorithms are going to be added, but apparently the expectation is to build on top of C/Fortran BLAS battle tested implementations.
I suppose this is relevant to a subset of HN audience who attend FOSDEM. Even the talk abstract is worth discussion as it highlights an important side effect of FOSS goals and the current state of the world.
On my personal devices, I turned off syntax highlighting a few years ago to see how hard it would be to live without, but I ended up liking it and I have not turned it back on since. I am mostly working on small (<10k LOC) projects, or single-file programs (e.g. Advent of Code).
However, at work I am working on a much larger code base, and the extra help given by syntax highlighting (for example, having a quick visual feedback on whether a method exists or not) is valuable to me.
I think this also depends on the language used: at home I mostly program in C, but if I were doing more e.g. C++, I would probably enjoy some syntax highlighting.
reply