Why is Swift's String API So Hard?

Artikeln diskuterar varför Swifts string API upplevs som svårt och förklarar dess designfilosofi. Författaren menar att en grundläggande orsak till komplexiteten är att olika typer av text (t.ex. mänsklig läsbar text, filvägar) felaktigt representeras av en enda strängtyp i många språk. Artikeln går igenom hur strängar representeras på maskinnivå i olika språk (t.ex. som byte-arrayer, UTF-8, UTF-16, Unicode kodpunkter) och belyser problem som uppstår med Unicode, särskilt med kombinerande tecken och surrogatpar. Genom exempel med strängen "ae∞𝄞" demonstreras hur borttagning av "tecken" i olika kodningar kan leda till ogiltiga strängar eller oönskade, unintuitiva resultat. Författaren argumenterar för att Swifts design, trots sin upplevda svårighet, är den bästa på grund av hur den hanterar dessa komplexiteter, troligen genom att beakta "grapheme clusters".