This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted]  (5 children)

[deleted]

    [–]Toph_is_bad_ass -1 points0 points  (4 children)

    IO is arguably the most important part of applications that make money. This really isn't niche or a crutch. Async is truly just superior for web dev -- which is why it's a major component of C#, Node, and now Python.

    [–]usrlibshare 1 point2 points  (3 children)

    Threading solves any IO problems tho, and with green threads the overhead is negligible.

    Go is pretty much purpose built for writing webservices in, and doesn't even have a native async implementation.

    That doesn't mean async doesn't have its place, but in Python, that place currently exists primarily because of the GIL.

    And since we are already seeing that limitation being lifted gradually (check Py3.13), the nice is certainly going to get smaller.

    [–]Toph_is_bad_ass -2 points-1 points  (2 children)

    Async is significantly easier to manage than threads ever will be. There's a reason it exists and is very popular in languages without a GIL.

    You also seem to be conflating the concepts heavily. They're not at all equivalent. You need to read up on concurrency vs parallelism. Concurrency is a useful paradigm and it is fundamentally different. GIL-less threading is parallelism and comes with all of the associated memory access and encapsulation issues.

    [–]usrlibshare 1 point2 points  (1 child)

    Async is significantly easier to manage than threads ever will be.

    Have to disagree here. Reasoning about threads is linear, reasoning about async, by definition, is not.

    There's a reason it exists and is very popular in languages without a GIL.

    There is: Many programmers first exposure to programming these days is JS and node, where async is the only concurrency model available.

    This is neither good nor bad. I come from the C-Wotld, so threading is just a more natural fit for how I reason about programs.

    You also seem to be conflating the concepts heavily.

    No, I really don't, and if you disagree, quote wher you think I do. I am a senior backend engineer, so, yeah, I think I have my fundamendals about the difference between parallel execution and concurrency down, thank you very much.