Reading about the new version of Swift I see it have Async and Await, a quick read of the Swift documentation makes it sound like the async surport built into C#.
But clealy life is never that easy!
For example Swift does memory management with reference counting unlike the reference checking garbage collection in C#, so what difference does that make to async programming? How are "retain cycles" prevented in the Swift Async system?
The different syntax is easy, as the differences are clear and the compiler will catch syntax errors, but what about the difference that results in very hard to debug traps?