Path: utzoo!attcan!uunet!cbmvax!snark!eric From: eric@snark.uu.net (Eric S. Raymond) Newsgroups: comp.lang.misc Subject: Re: Bondage and Discipline Languages Message-ID: Date: 14 Jan 89 18:17:30 GMT References: <8540@megaron.arizona.edu> <2630@ficc.uu.net> <13293@cup.portal.com> <5795@medusa.cs.purdue.edu> <1226@indetech.uucp> Organization: Wild-Eyed Extremists for Freedom, Inc. Lines: 45 In article <1226@indetech.uucp>, david@emerald.UUCP (David Kuder) writes: > I think your use of B&D just got too broad. I was *wondering* how long it would be before some nettled Prolog partisan spoke up...:-) > Every language has a paradigm, > Prologs may be other than procedural but it isn't any more constricting than > C or LISP. You couldn't prove that by me, friend -- or by half the Prolog programmers I know! This much I'll give Prolog, that it's at least compulsive about some interesting and useful ideas. More so than APL. *Much* more so than Pascal. > As far as it goes, it has always struck me as freeing rather than > binding. Well, yes -- *if* the things that you care about can be modeled by Horn clauses. The trouble is that there are lots of important things that cannot, that are intrinsically stateful/sequential/procedural. Consider I/O, for example, carefully. > Speaking of *obvious* examples, what isn't a B&D language? C. C++. Lisp. Basic. Fortran. Any assembler. These languages escape the category by including enough low-level primitives to support just about any programming style that's even vaguely procedural; of course, you may have to give up a lot of the language's expressive power to do so. Smalltalk and (possibly) Algol-68 escape the category because, although they are wedded to particular programming paradigms, they include enough power and extensibility that you can customize your way out from under the designers' assumptions if you need to. > Is there a better > way of differentiating it from, for example, APL than calling one B&D? Sure. Does a language simply *support* some bizarre and interesting way new of thinking about algorithms, or does enforce the method with such religious fervor that you can't do anything else, *even though the method is demonstrably inadequate for general-purpose programming*? -- Eric S. Raymond (the mad mastermind of TMN-Netnews) Email: eric@snark.uu.net CompuServe: [72037,2306] Post: 22 S. Warren Avenue, Malvern, PA 19355 Phone: (215)-296-5718