I really like Zig's approach to UB. Especially alignment is a part of type. And all this wordy builtins for conversions. Starring to it makes you think what you doing wrong with data model it requires now 3 lines of casting expression.
Another book tactically missing memory and ownership design for modern c++ apps.
I think there is no more important topic for teaching. There are some slides in advanced sections but it's quite ironic one needs to know about it from the start!! Who owns memory? How to pass it? Move? Borrow? How to communicate it for readers? It's like a tribal knowledge.
Every time I touch enterprise C++ codebase it's a freakshow heavily struggling with memory management.
As reference the material could be good, as study it's very questionable.
Do you have any recommendations for books/materials that do include these topics? I've never used c++ professionally, but have been starting to learn it and would appreciate a modern reference on these items.
Nothing did more damage to c++ code bases than people not understanding this. People hear "smart pointers are good" and use them for everything. Not understanding that it's just the lesser evil and still extremely rarely needed (vs just stack memory or variants)
The funny thing LLM's are amazingly good with writing in Zig. They could inspect stdlib source code to fix compatibility issues with newer compilers and quite prolific with idioms.
For example I got a working application with minimal prompt like "I need an X11 tray icon app showing battery charge level". BTW result: https://github.com/baverman/battray/
Now I'm trying to implement a full taskbar to replace bmpanel2. Results are very positive. I've got feature parity app in 1h with solid zig code.
> They could inspect stdlib source code to fix compatibility issues with newer compilers and quite prolific with idioms.
In order to even say this, you need to have knowledge and understanding about the language. I suspect you are not the intended target of this policy. They are defending their project with a harsh policy, knowing full well there are false negatives. Contributions for FOSS was already in borderline crisis mode before LLMs so it makes sense they’re desperate.
Their bet would be Venn diagram of LLM user overlaps with irresponsible. I think that’s correct, but not because good programmers suddenly become irresponsible when they use LLMs, but rather that an enormous barrage of bad programmers can participate in domains they otherwise wouldn’t even know where to begin.
Just in case, I'm completely fine with the policy as-is. Even more, I'm ok with making no-sense project policies. I have no business to judge how to govern other's projects.
I've assessed half a dozen before writing my own with following results:
- 2 are python resource hog
- 2 from AUR don't compile with modern GCC.
- 1 uses gtk battery icon, but uses dark version on dark taskbar, unreadable.
- 1 shows just black square.
Like I spent more time on assessment than I got a first working my tray. Amazing times.
Oh boy. The major difference is coordinate transformations, global/local/face. OpenScad basically leaves you alone with math you should figure out on your own. Also it's math heavy for all other stuff, for example tangents, smooth connections, intersection coordinates, etc.
For me NF>3 seems like an implicit encoding of underlying data logic. They impose additional restrictions (usually contrived and artificial, break really fast in real life) on data not directly expressed as data tuples. Because of that they are hard to explain, natural reaction: "why you just don't store data?".
> Who is forced to use it? Just use X11, as you said (many times) you do already.
Recent versions of gnome session are compiled only with wayland support in archlinux. To change DE or distribution or use custom package is quite a stretch to call it's not forced.
But then it's not Wayland's fault: Gnome decided to move to it and stop supporting X.
I don't like systemd and the fact that mainstream distros push for it, but as a result I use a distro that gives me the choice (Gentoo). Who am I to tell the distro maintainer what they should do for free?