• 0 posts
  • 25 comments
Joined 2 years ago
Cake day: December 9th, 2024
  • Yeah, that one’s always bothered me too. I think the difference in meaning from colloquial “implication” and logical “material implication” are also involved in the raven paradox.

    So the statement that “all ravens are black” can be taken as “if RAVEN then BLACK”. Is this statement true? If you see a black raven then trivially yes, if you see a white raven then trivially false (via counter example).

    However if you see a non-raven, it is evidence for the truth of the statement because it doesn’t go against it: not-ravens being black-or-not-black both reduce the universe of possible objects without proving not-black-ravens exist.

    Or something like that, I think it’s stupid too. Trinary logic can adopt a more sensible (IMHO) definition of implication that makes A being false always lead to the third value (usually defined as indeterminate or neither-true-nor-false).

  • That would be the symbol\operation called TRUE or TOP or “tautology” which is always true. They’re actually missing quite a few of the weirder ops, including implication and biconditional\iff\if-and-only-if. (Edit: Actually I think XNOR is also the biconditional. I guess pretend like I said “material implication” and “reverse implication”. Fricken booleans man!)

  • How can sole maintainers work with multi-billion corporations without being taken advantage of?

    They can’t, thats why GPL is noncommercial. Capitalism is an exploitative system that relies on power imbalance. As soon as MS reached out, he should have made it clear they can’t even look at his code for ideas without a contract and payment. He shouldn’t have told them anything else without a contract. Papers with legal claims on them are the only language business speaks.

  • More realistic versions:

    Waterfall: the car is “finished” at the end, but replace the engine with a huge roaring fire. The Dev team continues to put the engine fire out and build the engine for 3x the original project duration.

    Agile: replace the cute scooter and bicycle with the partial car graphics from Waterfall, but mount a uniccyle seat and then a park bench on top of the partially built car.

    AI: the whole thing should always be on fire, and have several spies from different countries taking pictures of it constantly.

  • Wildly, in C# you can do either and it has different results. I believe a bare throw doesn’t append to the stack trace, it keeps the original trace intact, while throw e updates the stack trace (stored on the exception object) with the catch and rethrow.

    In C#, you can only throw objects whose class derives from Exception.

  • This is incorrect. The C# is valid. Throw in a catch statement simply rethrows the caught exception. Source: I’ve been writing C# for 20 years, also the docs.

    I won’t act like MS absolutely didn’t steal core concepts and syntax from Java, but I’ve always thought C# was much more thoughtfully designed. Anders Hejlsberg is a good language designer, TypeScript is also a really excellent language.