A Language Shield 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 Design Shield, 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 Design Shield for a discussion.
See also Shield Pattern by Alistair Cockburn, where I first read the term "shield". -- Falk Bruegmann
Some examples would be helpful. Perhaps ...
automatic register allocation
floating point representation
parameter binding
method dispatch
In C++,
private members
the mutable keyword (enables Conceptual Constness)
More?
Deep orthogonality and consistency in the language. For example:
In Small Talk, everything's a message.
In the Lisp Language, everything's a list or a function.
When all implementation strategies look the same, you don't need to worry about which one an object uses.
See original on c2.com