Now, Resource Aquisition Is Initialization is correct, but the corollary is not generally true, which is to say, my variable going out of scope does not generally mean I want to de-aquire that resource.
So, sooner or later, everything gets wrapped in a reference counting smart pointer. And reference counting always seemed to me to be a primitive or last-resort memory managment strategy.
Same thing as what Rust does with `String` and `str`.
Why not bikeshed the bikeshedding?
Could you give an example? Null _is_ absence, the way I see it
IMO, these are sufficient for a good public transport system. Skipping stops is the worst since it makes the whole network unreliable.
If the above points are too high of an investment and skipping stops is the only viable solution then a proper digital interface is needed. If the schedule is dynamic then the information about it also needs to be dynamic. I need to be able to know that the bus I am on is going to skip my stop and plan my next steps while I am sitting in the bus itself.
Are you kidding? I'm willing to bet 99% of users run their browsers fullscreen.
Using the drag-and-drop feature that splits the screen between two GUIs already marks the office power user, a third windows on a single screen brings us into the territory of the hardcore nerds running tiling window managers.
The only time I run an app without fullscreen-ing it is if I don't have to do much in it or it doesn't have enough content to use up all the space anyways. Like system settings. Otherwise, I am using the app -> I am focusing on it -> I want it to take all the space it wants and show me everything going on inside it. My browser and my text editor are apps where I spend 99% of my time so they are always full screen.
It means you don't need a bunch of special-case handling if one out of 27 types ends up with zero size in some situation. It just all works the same way. Especially the unique address part because that would be an annoying source of difficult to track bugs.
I think it would be much better if malloc(0) just returned 1 or -1 or something constant. If the programmer needs the allocation to have a unique address, they can call malloc(1) instead.