The part about linguistic experience was especially good. I have thought for some time now that all configuration files, command-line options etc. should have simple and clearly defined syntax. Some already do. My dislike of weird, inconsistent and complex syntax (and semantics) is so severe that I've semi-intentionally not learnt shell-scripting, Perl or Ruby.
Sadly, there are very few systems that I feel I get a good linguistic experience(TM)(R) out of. I have come to think that GUIs as we know them are based on fundamentally flawed ideas - pointing and grunting - instead of using a language, the feature that separates humans from other animals.
I really wish good textual UIs (there aren't many that I know, but I'm using one for writing this comment: GNU/Emacs) became the norm, instead of the randomness of the contemporary GUIs or the bass-arckwardness of shell-like languages. I think UIs should aim to become Turing-complete, completely self-documenting and reflective. The distinction between a function, a program and an user interface is in my opinion mostly arbitrary and harmful, creating an unnecessary wall of misunderstandings between the author of a program and its users.