0 points

<p> MOTHERFU- </p>

permalink
report
reply
9 points

I heard the pop in my head

permalink
report
reply
3 points
*
Deleted by creator
permalink
report
reply

I hate asyncs, but I don’t mind the way Python does it.

permalink
report
reply
3 points
*

Kotlin-style async is pretty neat, ngl.

permalink
report
parent
reply
9 points

I hate python async with a burning passion but I’ll admit most of it is a consequence of skill issues

permalink
report
parent
reply

What do u hate about it so much? I find it a very intuitive way to do async. Especially with asynchronous loops.

permalink
report
parent
reply
9 points

I like async but dislike await. I spend entirely too much time on everything I build trying to maximize how much I can do in parallel because I find it tremendously satisfying.

permalink
report
parent
reply
4 points

Await is usually there either because the performance doesn’t matter and the legibility is much higher with it, and/or because there are a series of asynchronous actions that depend on each other and await lets you write them as if they are sync because related to each other they are.

permalink
report
parent
reply
4 points

You probably already know this, or are talking about another language, but JavaScript is inherently single threaded, so unless you’re running blocking I/O in parallel, you won’t actually see any performance boost. Service workers get their own thread though.

permalink
report
parent
reply
1 point

Then Promise.all is for you!

permalink
report
parent
reply
1 point

TaskGroup in Python is great

permalink
report
parent
reply
46 points

That’s why you write your protocol as a sync library, then implement the async IO separately and mapping the data over the protocol modules.

permalink
report
reply
6 points

Long live sans io!

permalink
report
parent
reply
36 points

I… Don’t know what this means

permalink
report
parent
reply
44 points

So basically your typical network protocol is something that converts an async stream of bytes into things like Postgres Row objects. What you do then is you write a synchronous library that does the byte conversion, then you write an asynchronous library that talks with the database with async functions, but most of the business logic is sync for converting the data coming from the async pipe.

Now, this can also be done in a higher level application. You do a server that is by nature async in 2024. Write the server part in async, and implement a sync set of mapping functions which take a request coming in and returns a response. This can be sync. If you need a database, this sync set of functions maps a request to a database query, and your async code can then call the database with the query. Another set of sync functions maps the database result into http response. No need to color everything async.

The good part with this approach is that if you want to make a completely sync version of this library or application, you just rewrite the async IO parts and can reuse all the protocol business logic. And you can provide sync and async versions of your library too!

permalink
report
parent
reply
10 points

This approach is so much nicer than the threading/queuing approaches we used to have. One async showed up, a ton of the work go pulled out of protocol handing and distributed subsystem sync efforts.

Long lived the multi threaded C++ server buffer! Today, async beging to rule the roost.

permalink
report
parent
reply
10 points

What is computer science degree?

permalink
report
parent
reply
6 points

Or just make a bunch of static helpers >:)

permalink
report
parent
reply

Programmer Humor

!programmerhumor@lemmy.ml

Create post

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

  • Posts must be relevant to programming, programmers, or computer science.
  • No NSFW content.
  • Jokes must be in good taste. No hate speech, bigotry, etc.

Community stats

  • 5.3K

    Monthly active users

  • 884

    Posts

  • 8.9K

    Comments

Community moderators