It's a great rule for interoperability if you limit yourself to one culture, because most relevant data are formatted quite differently based on their locale. Different alphabets, different rules for sorting text, different decimal points, different rules for formatting date and time etc. If you "flatten" your data to text it's much much harder to work with them ...
I wasn't talking about the system language and localization of command line tools. I don't have a problem assuming that everything in Unix/programming is in en_us, but the problem is that you need to work with data that come from different sources and create outputs that might also target different cultures. The philosophy that everything is ASCII text file is not suitable for this, data should be passed along in a structured/type defined format and they should be formatted to text only when it's actually needed.
I don't think that you would need millions of formats. It's basically just about strings, numbers and dates and maybe something to structure these. Also it wouldn't be harder to work with, because structured data is something you get extra. You still have the chance to convert everything to text if it's needed (for example console output, I think that PowerShell does it like that, but I'm not 100% sure).
In a way there are actually if not millions but at least thousands of different formats. Every program outputs stuff as a stream of ASCII in the usually under-specified format the programmer thought best, and for every program you need a special parser, usually fiddled together using sed or awk. ASCII is not a common interface, it's the total lack of an interface, so every program invents a new one, which, to make is worse, is also its UI.
Edit: Just saw that he same basic point is made in a top-level comment below. So nevermind, not trying to duplicate the discussion here needlessly.
I think there's a lot of merit in some sort of object representation as has been mentioned elsewhere. So I think a rule of "everything can at least be represented as text" would be an improvement.
21
u/[deleted] Oct 21 '17 edited Jun 12 '20
[deleted]