QuoteOriginally posted by: zhouxingTo me, it's quite useful and help to compare the features of different languages. And honestly I trust those Java and .NET designer are very experienced and must have spent lots of thinking when deciding which feature to drop and to add. Features like generic has built-in conflict with language execution security (which is very important to Java and .NET in the internet age). But for features like const member function and operator overloading, I don't see any strict show stops that prevent them from being included. So I would guess they are purposely excluded.Well, a technical term for the result of "deciding which feature to drop and to add" is this one:"A language (such as Pascal, Ada, APL, or Prolog) that, though ostensibly general-purpose, is designed so as to enforce an author's theory of "right programming" even though said theory is demonstrably inadequate for systems hacking or even vanilla general-purpose programming. Often abbreviated "B&D"; thus, one may speak of things "having the B&D nature"."//
http://foldoc.org/bondage-and-discipline+languageAlso, from C2 Wiki:"A language is B&D to the extent that its defenders exhibit AuthoritarianPersonality symptoms.Authors of BondageAndDisciplineLanguages believe their concepts of the Higher Principles of Computer Science should apply to how you say "Hello World".Clarification: BondageAndDiscipline is externally imposed, even if you're the one that begged for it to happen. Some of the discussion below still assumes "discipline" means "self-discipline", which confuses things. Bondage == "I'm not allowed to..." (restraint of behavior) Discipline = "I am forced to..." (forced behavior) Self-Discipline == "I better be careful to..." (abandon all hope, ye who enter here)"As in certain languages enforcing object-oriented programming paradigm on ALL (including but not limited to "Hello World"-type) programs... just sayin'