• 3 Posts
  • 221 Comments
Joined 5 months ago
cake
Cake day: December 16th, 2024

help-circle


  • At the user level they’re just tools, not programming languages. Python users are generally moving to ruff (and uv) because of ergonomics: It works well and really fast which makes for a smooth experience in-editor. Plus using fewer tools to achieve a similar result is generally desirable.

    And for a complete newbie like someone taking a course, I think there’s no “sticking with” to speak of. Might as well just skip over the tools people are migrating away from and start with the tool people are migrating to.



  • This sounds like the antithesis to parse, don’t validate. It is possible to use just maps and strings and get a “stringly typed” program, but there’ a bunch of downsides to it too:

    • your typechecker can’t help you if you used the wrong dict[str, Any]; most of us want the typechecker to help us write correct code
    • there’s no public/private
    • everything you .get from a map is Optional; you need to be constantly checking and handling that rather than being able to have methods that return T, or even direct field access
    • you can derive or hand-implement a bunch of operations on (data)classes that you can’t on maps: Comparison, ordering, hashing so you can use the blob of information as a map key, …

    Ultimately while Hickey has a good point in the distinction between easy and simple, his ideals don’t seem particularly aligned with the programming world at large: For one thing, Clojure remains pretty small, but even other dynamic programming languages like Javascript and Python have been moving towards typechecking through Typescript and typing in Python.

    Doing a json.load into some dict[str, Any] is simple, but actually programming like that isn’t easy. Apparently a lot of programmers find value in doing the extra work to get some stdlib or pydantic dataclasses. Most of us get a confidence boost from using parsed data, and feel uneasy shuffling around stuff that’s just strings and maps.















  • No, “not releasing them until they’re treated” just won’t fly. We have a lot of discussions about the loss of freedom in healthcare, and generally we can’t do something like that unless they’re an immediate danger to others or themselves.

    Once they’re very sick there are a variety of treatments one can try, but they’re neither a replacement for social housing for people who are just struggling economically, nor something to deny people who need to get a return to normalcy.

    It is also socialism, or at the very least social democracy here in the Nordics, and it works well :)