Can Java be saved from death by feature bloat?
Michael says that some features proposed for addition to Java are proposed in order to make writing in it easier, but that they make reading and learning the language harder, because "to make sense of it all, you still have to understand the whole story."
I think these sorts of extensions are the analogue of slang in natural languages: you can get a lot more said in less words, you alienate people who don't know the slang, it may consist not only of odd words but also of ambiguous grammar, and to learn what it means you have to find out a story. For example, "Bob's your uncle" means that the rest of what you have to do is easy. (Few in the US seem to know this, because the story is from across the pond.)
Slang can be OK in natural language because you can know who your audience is, and if you're not sure they understand, you can say it again a different way without being boring, and your listeners will synthesize your overall meaning. But in programming languages, if you say exactly the same thing twice, you've wasted your time and that of your reader; and if you say nearly the same thing twice, either there's a little thing you meant to say different, which the reader must sleuth out, or you goofed up, and it's not always obvious which. If you have to say nearly the same thing twice, I think your language is not well matched with your message.
Whatever I feel like the whole Internet should know.
Friday, December 21, 2007
Subscribe to:
Comments (Atom)
