Well, if you learn about chars and then realise a string is a "string" of chars, then it's not so bizarre. If we're starting with ints before introducing floats, then why not start with chars before introducing strings.
As a reasonably experienced programmer, however, this terminology makes me uncomfortable. To me, "text" implies a sequence of words written in a human language, rather than a sequence of arbitrary characters. It hints at structure which may not be present in a string.
- A Byte (AKA Word8) is 8 bits. It has no inherent meaning.
- A Character (AKA Char) is a Unicode code point.
- A ByteString is a sequence of Bytes. It has no inherent meaning.
- A Text (AKA String) is a sequence of Chars.
In particular, Char != Byte and String != ByteString; we can juggle bytes without having to care about encodings; and we can manipulate text without having to care about its representation.
Where does string come from. How odd.