| ▲ | mojuba 19 hours ago | |||||||||||||||||||||||||||||||||||||
It's a good article but I think you need to start explaining structured concurrency from the very core of it: why it exists in the first place. The design goal of structured concurrency is to have a safe way of using all available CPU cores on the device/computer. Modern mobile phones can have 4, 6, even 8 cores. If you don't get a decent grasp of how concurrency works and how to use it properly, your app code will be limited to 1 or 1.5 cores at most which is not a crime but a shame really. That's where it all starts. You want to execute things in parallel but also want to ensure data integrity. If the compiler doesn't like something, it means a design flaw and/or misconception of structured concurrency, not "oh I forgot @MainActor". Swift 6.2 is quite decent at its job already, I should say the transition from 5 to 6 was maybe a bit rushed and wasn't very smooth. But I'm happy with where Swift is today, it's an amazing, very concise and expressive language that allows you to be as minimalist as you like, and a pretty elegant concurrency paradigm as a big bonus. I wish it was better known outside of the Apple ecosystem because it fully deserves to be a loved, general purpose mainstream language alongside Python and others. | ||||||||||||||||||||||||||||||||||||||
| ▲ | ragnese 19 hours ago | parent | next [-] | |||||||||||||||||||||||||||||||||||||
> It's a good article but I think you need to start explaining structured concurrency from the very core of it: why it exists in the first place. I disagree. Not every single article or essay needs to start from kindergarten and walk us up through quantum theory. It's okay to set a minimum required background and write to that. As a seasoned dev, every time I have to dive into a new language or framework, I'll often want to read about styles and best practices that the community is coalescing around. I promise there is no shortage at all of articles about Swift concurrency aimed at junior devs for whom their iOS app is the very first real programming project they've ever done. I'm not saying that level of article/essay shouldn't exist. I'm just saying there's more than enough. I almost NEVER find articles that are targeting the "I'm a newbie to this language/framework, but not to programming" audience. | ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
| ▲ | astrange 12 hours ago | parent | prev [-] | |||||||||||||||||||||||||||||||||||||
> The design goal of structured concurrency is to have a safe way of using all available CPU cores on the device/computer. That's parallelism. Concurrency is mostly about hiding latency from I/O operations like network tasks. | ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||