# The Curious Case of the Async Cafe (PragProg)

**URL:** <https://forum.devtalk.com/t/the-curious-case-of-the-async-cafe-pragprog/99850>\
**Category:** macOS Learning Resources\
**Tags:** published-book, swift, pragprog, book-the-curious-case-of-the-async-cafe\
**Created:** [8 March 2023 17:32 UTC](https://forum.devtalk.com/t/the-curious-case-of-the-async-cafe-pragprog/99850 "2023-03-08T17:32:00Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![PragmaticBookshelf](https://forum.devtalk.com/user_avatar/forum.devtalk.com/pragmaticbookshelf/32/463_2.png) [@PragmaticBookshelf](https://forum.devtalk.com/u/PragmaticBookshelf)\
**Post date:** [8 March 2023 17:32 UTC](https://forum.devtalk.com/t/the-curious-case-of-the-async-cafe-pragprog/99850/1 "2023-03-08T17:32:00Z")

</div>

A quirky, fast-paced tour of the components of modern concurrency in Swift.

 ![d-dsasync-500](https://forum.devtalk.com/uploads/default/original/2X/8/8beae2b9053f7cdadb66d127d11f70995d2cb40a.jpeg)

### Daniel H Steinberg

Swift’s new async/await family is a language level solution for asynchronous and concurrent code. This book introduces the new keywords and additions to the Swift Standard Library, digs in to how and when you should use them and what pitfalls to avoid. You’ll learn to replace traditional approaches to working with callbacks and concurrency with simpler code that is easier to read and reason about.

Swift’s solution to asynchronous and concurrent code is now part of the language itself. The new syntax, which in the past was complicated, fragmented, or deeply nested, is easier to read and follows a logical flow. With async/await you’ll focus on tasks instead of threads or even queues.

_The Curious Case of the Async Cafe_ is a quirky, fast-paced tour of the components of modern concurrency in Swift: async; await; Tasks; using continuations to replace and wrap delegates and closure-based APIs; AsyncSequences and AsyncStreams; structured concurrency using async let and Task Groups; and, of course, actors.

_This work was written and produced entirely by the author. We are proud to be distributing it._

* * *

**Daniel H Steinberg** is the author of more than a dozen books including the best selling books [A Combine Kickstart](https://pragprog.com/titles/d-dscombine/a-combine-kickstart/), [A SwiftUI Kickstart](https://pragprog.com/titles/d-dsswiftui/a-swiftui-kickstart/), [A Swift Kickstart, Second Edition](https://pragprog.com/titles/d-dsswift2/a-swift-kickstart-second-edition/), [A Functional Programming Kickstart](https://pragprog.com/titles/d-dsfpkick/a-functional-programming-kickstart/), and [Dear Elena](https://gumroad.com/l/DearElena). He has written apps for the iPhone and the iPad since the SDKs first appeared and has written programs for the Mac all the way back to System 7.

Daniel presents iOS, Functional Programming, SwiftUI, and Swift training and consults through his company Dim Sum Thinking. When he’s not coding or talking about coding for the Mac, the iPhone, and the iPad he’s probably cooking, baking bread, or hanging out with friends. Details on his training and speaking are on the [Dim Sum Thinking](https://dimsumthinking.com) website.

* * *

- Full details: [The Curious Case of the Async Cafe: An Introduction to Modern Concurrency in Swift by Daniel H Steinberg](https://pragprog.com/titles/d-dsasync/the-curious-case-of-the-async-cafe/)

- Post errata and suggestions [here](https://github.com/editorscut/ec013Async).

_Don’t forget you can get 35% off with your Devtalk discount! Just use the coupon code “ **devtalk.com**" at checkout 👍_
