• o11c
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    I’m increasingly convinced that Python/JS-style duck typing is always a mistake, since you can’t do default function impls for traits. Just use inheritance.

    Rust’s enums are even weirder, since they mix structuring with discrimination. You end up having to write everything twice most of the time. Again, use inheritance, though you’ll have to choose between if chains and virtual function calls.

    Python’s pathlib has a major footgun in that ./foo collapses to foo, negating the main point of writing it that way in the first place.

    • DanCardin
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      More obnoxiously than that even, imo, it’s that pathlib removes trailing slashes. Its impossible (afaict) to reproduce path.join(‘a’, ‘b/‘) with pathlib