Bah, each time someone say this they "forgot" that one side effect of 'every frame is perfect' is that it can increase latency..
Perfection or latency? That should be the user's choice not the developer's..
I advocate Zig's behaviour: signed and unsigned have undefined behaviour in case of overflow for optimised build, trap in debug build and there are modulo operators.
Bah, I think that these kind of vulnerabilities exist in any "packaging ecosystem" where the base language offer "ambient authorities"(any library can access your filesystem) which is .. all of them!
AFAIK only research languages do not provide these ambient authorities :-(
> In fact I think atheists should make more effort to learn about the vast diversity of other faiths. It's very narrow to be atheist only about the Abrahamic deity.
Your sentence doesn't really make sense, and there is a lot of deities..
> You end up incorporating a lot of Christian thought without realizing because it's so deeply ingrained that it seems like the only option.
Depends on the country, some Northen european countries have a very high proportion of atheists, so it happens probably less there.
Yes and being 'opposed' to QM contributed to expose the 'spooky action at distance' that QM implies, which is very important..
It's a pity that experimentators were able to demonstrate it only a long time after Einstein's death, what would have been his reaction??
Tabs aren't really new: look at BeOS which could "tab" windows..
That said I agree with you that tab are really nice, especially the way VSCode manage them with the vertical list of opened files (I switched from vim to VSCode due to this feature).
Note that in Zig, unsigned integer have the sqle semantic qs integers on overflow (trap or wrap or UB).
You also have operators providing wrapping.
That is the correct solution.
I worked (a long time ago) on a C project where every int was wrapped in a struct.
And a friend told me about a C++ project where every index is a uint8, uint16, and they have to manage many different type of objects leading to lots of bugs..
So it isn't really linked to the language.
I've seen some issue with this approach is that management will want to sell the prototype, bypassing the "rewrite from the lesson learned" step, and then every shortcut took into the prototype will bite you, a lot..
And things like "race conditions"/lack of scalability due to improper threading architecture aren't especially easy to fix(!)..
It's a minor detail but list starting at 1, with -1 being the last élément and 0 being 'none' is weird..
Why did you make this choice instead of 0 for the first élément, -1 for the last one?
It would avoid the 0 'trap'.
> Eventually both Windows and Linux programs moved to a model where the OS just gave you the window as a drawing surface, and you were supposed to fill it.
If you follow this model, how do you solve the accessibility issue?
> I noticed during my three week summer vacation that it took me a good week to unwind and slow down.
It depends a lot on what you do on your holiday.
I think it's best to start with something "mind focussing": you're not going to think about your job while skydiving, scuba-diving etc.
Really? Explain the success of advertising, superstitions (including religion) then.