A
LanguageShield is some feature of a programming language put in to hide what you are doing, to give you protection, something to hide behind to give you room to change your mind, perhaps. As opposed to
DesignShield, which serves the same purpose, but is not provided by the language but by program design.
Could it be that most Language Shields were Design Shields before they migrated into the language? See
DesignShield for a discussion.
See also
ShieldPattern by
AlistairCockburn, where I first read the term "shield". --
FalkBruegmann
Some examples would be helpful. Perhaps ...
- automatic register allocation
- floating point representation
- parameter binding
- method dispatch
In C++,
More?
Deep orthogonality and consistency in the language. For example:
When all implementation strategies look the same, you don't need to worry about which one an object uses.