[Originally from a Twitter Thread] Original Twitter Post One thing many languages & API designers get wrong is the concept of a string. I try to make a firm distinction between: string value (string or char const *) string builder (strings.Builder or realloc+snprintf) Backing buffer for a string ([]byte or char *) They are not equivalent even if you can theoretically use them as such, and so many garbage collected language use them as such. They have different use cases which don’t actually...