Newsgroups: comp.lang.misc
Path: utzoo!utgpu!utstat!jarvis.csri.toronto.edu!csri.toronto.edu!sam
From: sam@csri.toronto.edu (Samuel Weber)
Subject: Re: Bondage and Discipline Languages
Message-ID: <8901180542.AA20739@yorkville.csri.toronto.edu>
Organization: University of Toronto, CSRI
References: <8540@megaron.arizona.edu> <2630@ficc.uu.net> <13293@cup.portal.com> <5795@medusa.cs.purdue.edu> <edcpu#4E04mv=eric@snark.uu.net> <1226@indetech.uucp> <eeuqR#3lcVcX=eric@snark.uu.net>
Date: Wed, 18 Jan 89 00:42:46 EST

In article <eeuqR#3lcVcX=eric@snark.uu.net> eric@snark.uu.net
                                            (Eric S. Raymond) writes:
>In article <1226@indetech.uucp>, david@emerald.UUCP (David Kuder) writes:
>> Speaking of *obvious* examples, what isn't a B&D language?
>
>C. C++. Lisp. Basic. Fortran. Any assembler. 

What!!!  I am willing to admit that Lisp might not be B&D, but C and
C++ are unquestionably one of the worst bondage and disipline languages
around!  Both of these languages force one to adhere to an artificial
program/data distinction, as if there was some carved-in-stone
declaration of which bytes happened to be code, and which data.  If
I want to write self-modifying code, and the language prevents me
because the designer thought that self-modifying code was a 'bad thing',
one can hardly state that the language is not totalitarian!  What is
especially irritating is that even though many people, such as the
designers of Lisp, approved of self-modifying code, the designers
of C and C++ decided to single-handedly legislate it out of existance.

Conclusion:
  If you are going to disapprove of "B&D" languages, you should
realize that you are also arguing against C and C++.
-- 
    --Sam Weber               "Little Birds are bathing
    sam@csri.toronto.edu         Crocodiles in cream, Like a happy dream:
                               Like, but not so lasting--
        (quote by              Crocodiles, when fasting,
      Lewis Carroll)             Are not all they seem!"

