The Jargon File (version 4.4.7, 29 Dec 2003):
bondage-and-discipline language
 n.
    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?. See Pascal;
    oppose languages of choice.
The Free On-line Dictionary of Computing (30 December 2018):
bondage-and-discipline language
   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".
   See Pascal.  Compare languages of choice.
   [Jargon File]
   (1996-01-05)