Internals of the async/await pattern from first principles(github.com)
github.com
Internals of the async/await pattern from first principles
https://github.com/Dobiasd/articles/blob/master/internals_of_the_async_await_pattern_from_first_principles.md
16 comments
Regarding the second code snippet - I've never seen this language feature before. Obviously there are things sometimes called generators implemented as structures, where 'step' or 'next' is just a normal method, but is there a real world example of what is shown?
Thanks for the feedback! My code snippets in the article don't use any real/existing language. C# for example, is quite explicit with the transformation of generated to state machines, but also does not provide such methods, as far as I know. I've just added a comment explaining this choice: https://github.com/Dobiasd/articles/commit/f44b897f2a4d20aa9...
[deleted]
Which programming language is that?
First comment in the first example says:
// We're using an imaginary programming language here.
Sadly, not answering the 'why'.
// We're using an imaginary programming language here.
Sadly, not answering the 'why'.
I tend to ignore comments in example programs because they look like this:
By the way, first I felt a strong Pythonic vibe but then I realized that the colons after the statements were missing. I asked ChatGPT and it said Nim. I opened the Nim homepage and realized that Nim also uses the colons. Then it said it is probably just a form of pseudo-code, and it was right.
I reread the whole article to find the clue but never thought to read the commments. Really weird of me.
P.S. Did you see the mistake in the comment before you got here?
// Set x to 42
x += 42
It's a form of banner blindness.By the way, first I felt a strong Pythonic vibe but then I realized that the colons after the statements were missing. I asked ChatGPT and it said Nim. I opened the Nim homepage and realized that Nim also uses the colons. Then it said it is probably just a form of pseudo-code, and it was right.
I reread the whole article to find the clue but never thought to read the commments. Really weird of me.
P.S. Did you see the mistake in the comment before you got here?
Yes, immediately. OCD pet peeve of mine.
I think it's actually a good move here, using a real language would invite too many comments getting caught in the weeds along the lines of: "actually the language does X, Y and Z to implement coroutines which this article skips over"
Agreed. My comment was more relating to the fact that comments about 'what' something is, aren't as helpful as answering the 'why', which you just did. =)
Thanks for the feedback! I just extended the comment to touch on the "why" part. :) https://github.com/Dobiasd/articles/commit/53f360259ad8e64ca...
Don't leave me hanging, too specific about what?
That is fantastic. Much appreciated on the quick response. You're hired. =)
I'm not sure if you're actually suggesting that the author expound further on the concept of pseudocode, or if this is just humor.
Mostly humor, but also a suggestion. Why? Because if it was real code I'd want the 'why' to be as specific as possible. It doesn't have to be a novel, but it also shouldn't be left open for interpretation.
Too many times have I gotten some ancient piece of code and cursed the author (sometimes this is even myself) for either not documenting it well or it had a bug or whatnot. "OMG, what were they thinking when they wrote this code?!" I never want to be in the position where someone is cursing me.
Too many times have I gotten some ancient piece of code and cursed the author (sometimes this is even myself) for either not documenting it well or it had a bug or whatnot. "OMG, what were they thinking when they wrote this code?!" I never want to be in the position where someone is cursing me.
Thanks! Yeah, that was one of the intentions. :)