

I agree. So if None is a valid input we should check it first, and then check if the length is zero. In this situation, we see a type error only if the programmer screwed up and everything is explicit
I agree. So if None is a valid input we should check it first, and then check if the length is zero. In this situation, we see a type error only if the programmer screwed up and everything is explicit
I don’t really understand the point about exceptions. Yeah “not foo” cannot throw an exception. But the program should crash if an invalid input is provided. If the function expects an optional[list] it should be provided with either a list or None, nothing else.
Passing None to a function expecting a list is the error…
Well, in your case it is not clear whether you intended to branch in the variable foo being None, or on the list being empty which is semantically very different…
Thats why it’s better to explicitly express whether you want an empty collection (len = 0) or a None value.
I really dislike using boolean operators on anything that is not a boolean. I recently made an esception to my rule and got punished… Yeah it is skill issue on my part that I tried to check that a variable equal to 0 was not None using “if variable…”. But many programming rules are there to avoid bugs caused by this kind of inattention.
What a great day to be alive… Well I am sorry that us europeans are either apatethic or impotent…
2 genocides in the middle east? I know what the first one probably is, but what’s the second? Please enlighten me.
Signed: an ignorant european.
Great article I think. I don’t have a lot of experience in zig, but I feel like it’s just a better version of C. More specifically, C with a more modern synthax, better defined behaviour, better error handling. As the author highlights it, using the comptime and reflection to make generics can easily become a footgun and make the code messy. But hey, having the option to make generic code is still better than C.
Unless your encoding has a special value that, by definition, is euler’s constant :p
Fun that this is brought up at this time. Just a few days ago I tried to program the programable thermostat of my grandma. I am convinced that the thing has a bug making it impossible to select a schedule… It has a lot of buttons and a screen, but due to a minuscule mistake in the interface it’s no better than a temperature slider…
Does a microkernel matter for anyone but nerds? Maybe companies that make variants of the OS?
To be fair, “they” could probably train AI on Lemmy data, they just won’t ask for permission and won’t be charged for it
Honnestly those razor-blades are a scam and I spend a lot less money since I switched to safety razors. A bit more technical to use but totally worth it I think
I dislike treating None as an equivalent for the empy list, but that does not further the discussion…
I hurt myself in confusion while reading the second quote. Is it the right quote? (also, nazi (relating to the nsdap) is probably not the right word, did you mean fascist?)