• 1 Post
  • 895 Comments
Joined 3 years ago
cake
Cake day: September 24th, 2023

help-circle





  • Python is one of the worst offenders here. I don’t think Python’s poor behaviour should excuse Lua’s.

    But I can also see why Python is making breaking changes - a lot of Python is so bad it really makes sense to clean it up. I dunno if Lua is in that situation.

    Anyway I think I would look to other languages like Go, Rust, Java, C++ which do a much better job. I don’t think Go or Rust have any backwards incompatibilities (at least very very few) and C++ has a small number but they’re for stuff that is truly ancient or almost completely unused. It’s totally possible if you care about it.








  • Yes they do. I don’t think it’s totally unreasonable. Slow compile time is a big productivity drain. But it’s not as bad as people often make out for Rust - in large part because compilation speed has at least doubled since Rust 1.0, but its reputation is still based on the 1.0 compile times.

    And some specific projects do have substantially bad compile times. When your incremental compilation time is 20 seconds where in other languages it’s instant… That’s notably worse.

    But I don’t think it should be a deal breaker. C++ has dealt with similarly bad compile times for decades and people don’t like it but it’s never been enough for most of them to switch to another language.








  • I’ve never seen a good answer to this question. Snapshot testing sucks. A 0.3% threshold can totally be too low for benign changes and too high to detect real bugs.

    Manual testing is probably the best option if you can afford it, but it’s time consuming and tedious.

    I’m sure there are people working on AI for this. I wouldn’t be too surprised if that’s the best option but I haven’t looked into any of that. Also you really want it to be deterministic and I’m not sure how you do that with AI easily.