> poorly designed String API<p>I wholeheartedly disagree and counterpoint that all other String APIs are wrong (bold statement, I know). Accessing a random index of a String is a complex (slow) operation, and as such, should be reflected as complex in the code, <i>especially</i> since people usually think it is not complex.<p>If you want an array of UInt8, just use that.<p>The part about the regex I agree with. They are slow and that’s a shame. I do not personally use regex much though, and don’t think it should be done much in prod either, unless there are no other options, but that does not excuse a poor implementation.<p>Regarding the domain, I recognize it seems to have difficulties escaping the “native iOS/macOS apps,” but IMHO it should not. It is a language that is simple to use, with a reasonable memory handling default (ARC), though it can also use the memory ownership model of rust. Generally speaking using Swift is possible <i>everywhere</i>. I use it personally for an app (native and web front, and back), and it is extremely cool.<p>Its ecosystem is also becoming quite interesting. Most of the libs are from Apple, yes, but they are also very qualitative.<p>All in all I think it’s shame Swift is not more used overall in the industry.