I found the writing style, the presentation as a "naive beginner" discovering facts about programming by writing test programs, to be insufferable. Eg<p>> Okay, so, argv is an array of addresses, and at those addresses, there is.. string data. Something like that:<p>> It looks like every argument is terminated by the value 0. Indeed, C has null-terminated strings.<p>> If I'm, uh, reading this correctly, "é" is not a char, it's actually two chars in a trenchcoat. That seems... strange.<p>The inclusion of all the "naive test programs" serves no purpose but to inflate the article's length to ridiculous levels.
I find this tyle of writing fantastic. The author pretending to realize shows exactly when there is a realization to be had. Examples and counterexamples, problems and their resolution. I have read a number of these and they are all brilliant I think. The length density and "rythm" is just right.
This is FAR too long. The first 10 pages is all about C strings. Just get to the point of why Rust has these 2 types and give people a link to a piece on unicode and UTF8 if that background is going to help. I didn't even get to the Rust part before giving up. I then scanned it, found a little Rust stuff but still couldn't easily pick out the answer to the top-level question. Now I don't care.