• 0 Posts
  • 34 Comments
Joined 3 years ago
cake
Cake day: January 13th, 2022

help-circle
  • I mean, I agree with that. Maybe “non-committal” isn’t necessarily the best word. I’m mostly saying, assuming that POs realize backlog won’t get prioritized nor they’ll be gifted money to work on it, they should lean into that fact more.
    They could sort backlog for chance of ever becoming relevant enough again and then delete the lower 90%.
    Or I don’t know, any card that sits around for more than 6 month is deleted. I’ve rarely seen an issue older than 6 months that wasn’t wildly outdated anyways.

    Or my preferred flavor of chaos: If it’s actually a problem, you don’t need a card on a board to remind yourself of it. You want a card for the when and how, but not that you need to do it.


  • I always kind of hated how non-committal POs were with that. It seems like any experienced dev knows backlog is effectively /dev/null. So, if you actually treat it as such, you can skip refining stories that will not be tackled any time soon and you can purge stories from backlog aggressively (or work with filters to hide them), so that your board shows actually relevant stuff.

    But POs will always be like, oh no, we can’t delete this story that we spent all of 5 minutes to write. It might still be relevant. We must remember that we still need to do this (and then not do it anyways)…


  • Well, I’m not just talking about issues.

    everything looks good, time to run it

    This sounds like they did not or could not explicitly compile it. Pretty much all popular languages are compiled. JS isn’t, but people are less likely to say that they ‘run’ that one. Ruby isn’t, but it’s not as popular as Python.

    Well, and my preferred version of “everything looks good” is “everything compiles”, which with a strict enough language does also make failure during the first run much less likely.

    I’m also not saying that these aspects are unique to Python.

    The language failing to tell you where the issue is also happens in JS/TS, C/C++ and I’m going to presume Ruby, too.
    Python is just again rather popular and some of these choices don’t make sense with my first hunch.



  • I mean, I guess, it depends on your perspective. Some folks work in garbage/proprietary languages all day and would be very glad to have Python-levels of compiler help. Others work in JS/TS and do have similar nonsense to deal with as in Python.

    But lots of languages, e.g. JVM languages, Rust etc., don’t struggle with semicolons and the like.
    And they don’t have to compile at runtime, so they can easily outclass Python for more complex error reporting, which is at least my experience.

    Personally, I have pretty much only had the experience of “tell me where the error is” in Python and TS.








  • Kotlin is quite …special in this regard.

    For certain language features, you have to declare functions as inline.
    And when you do that, as far as I can tell, it basically just templates that function at the end of the files where that function is to be used.

    Because well, it suddenly starts to report line numbers in exceptions, which are beyond the end of the file. Which is not helpful, at all.


  • I’m sure it is, I’m just not terribly happy about that fact.

    Thing is, any code you write ultimately starts via input and funnels into output. Those two ends have to be asynchronous, because IO fundamentally is.
    That means, if at any point between I and O, you want to write synchronous code, then you have to block execution of that synchronous code while output is happening. And if you’re not at least spawning a new thread per input, then you may even block your ability to handle new input.

    That can be fine, if your program has only one job to do at a time. But as soon as it needs to do a second job, that blocking becomes a problem and you’ll need to refactor lots of things to become asynchronous code.
    If you just build it as asynchronous from the start, it’s significantly less painful.

    But yeah, I guess, it’s the usual case of synchronous code being fine for small programs, so tons of programmers never learn to feel comfortable with asynchronous code…


  • Knusper@feddit.detoProgrammer Humor@lemmy.ml*Permanently Deleted*
    link
    fedilink
    arrow-up
    41
    arrow-down
    1
    ·
    1 year ago

    I found debuggers practically unusable with asynchronous code. If you’ve got a timeout in there, it will break, when you arrive at a breakpoint.

    Theoretically, this could be solved by ‘pausing’ the clock that does the timeouts, but that’s not trivial.
    At least, I haven’t seen it solved anywhere yet.

    I mean, I’m still hoping, I’m wrong about the above, but at this point, I find it kind of ridiculous that debuggers are so popular to begin with.
    Because it implies that synchronous code or asynchronous code without timeouts are still quite popular.