24:54 Amazing. I remember the seismic shift in my abilities as a programmer when I understood that I could complete partial functions by using C++’s std::option. I then learned what ADTs were and fell in love with functional programming, learned what a monad was, etc. Now I feel another seismic shift - don’t artificially complete a partial function and rely on clients to do error checking right - just simple don’t even let it compile unless it’s “formally verifiable” by the compiler.
I remember a quote from my SW engineering prof from my uni days where he said something along the line: "If you don't find bugs during testing, chances are that you did not test well enough, rather than that your code is actually bug free." Three bugs sounds suspiciously low.
24:54 Amazing. I remember the seismic shift in my abilities as a programmer when I understood that I could complete partial functions by using C++’s std::option. I then learned what ADTs were and fell in love with functional programming, learned what a monad was, etc.
Now I feel another seismic shift - don’t artificially complete a partial function and rely on clients to do error checking right - just simple don’t even let it compile unless it’s “formally verifiable” by the compiler.
I remember a quote from my SW engineering prof from my uni days where he said something along the line: "If you don't find bugs during testing, chances are that you did not test well enough, rather than that your code is actually bug free." Three bugs sounds suspiciously low.
You've already uploaded this one, no?