Coding in Ada: Strings (IV) Unbounded to String
Ada has made a pretty mess with strings. In the same family of languages, Pascal reached a similar mess. Early decisions which seemed nice and clever, but quickly turned out to be way too limitative, so they piled a series of other strings types upon it, each of them introducing small incompatibilities with others, or being somewhat clunky in a different way. That&#x27;s something you often meet in the Pascal and Ada worlds (strings being archetypal of the phenomenon): stuff that was thought to be clean&#x2F;nice&#x2F;smooth&#x2F;safe&#x2F;practical but turned out differently, and various extensions not very well thought which don&#x27;t integrate very well or destroy the cleanness of the original design.<p>C strings, no matter how much people have complained about along decades (often quoting Pascal as a good counter-example!), were simple and versatile and thus could stand all usages without a change in the base principle (so other string types never took off).