Our goal is to make concurrent programming in Swift convenient, efficient, and safe.
Once implemented, this roadmap will let you write this mess…
This way. 👍
The roadmap contains “nurseries” for creating child tasks 😆, and something called “actor isolation”, starting with “basic actor isolation”. I can’t help but picture a bad actor sitting around his apartment in L.A. 🤷🏻♂️
There’s also a solid glossary of what these terms really mean.
This library seems to be a sort of farm league for things that might make it to big leagues of the Swift Standard Library eventually.
Swift Algorithms lets you do just about anything you can think of with a collection (or two). It lets you do stuff like rotate[10, 20, 30, 40, 50, 60] to [30, 40, 50, 60, 10, 20], or find all possible permutations of [10, 20, 30], and lots of other things like chunking, random sampling, etc. Fun. 🤓
For any non-programmers reading this, a force-unwrap means that if your app comes across a value that just simply doesn’t exist at all ☁, then let the app crash right then and there 💥.
This article distinguishes between development, where it’s okay (and in sometimes encouraged) to crash, and production, where it’s never okay. I like the case here for avoiding poisoned app states that can occur with nil values. Just die already, already! 🤷🏻♂️ This article basically says that some development crashes are good because they expose problems, and to take a more aggressive approach with force unwrapping.
So be assertive with forced unwrapping. If there is no case where the optional should ever be nil, force unwrap
I think I’ll start taking more chances with force unwrapping and point to this article next time it comes up in a code review. 😉
And yet we all do it because it also has its benefits. 🤦🏻♂️😂
That article is a realistic and practical look how the dependencies affect your app in terms of app launch times, app size, and build times. It compares Swift Package Manager 🤓, Carthage 🤷🏻♂️, CocoaPods 😬, manual dependency management 🥺, and Git Submodules 🤮.
I still have a dream of zero dependencies 🤩, but I know it’s not realistic in a complex app. 😑