Path: utzoo!mnetor!uunet!husc6!mailrus!nrl-cmf!ames!umd5!purdue!decwrl!labrea!csli!kasper From: kasper@csli.STANFORD.EDU (Kasper Osterbye) Newsgroups: comp.lang.misc Subject: Re: Universal OS & universal language Message-ID: <3749@csli.STANFORD.EDU> Date: 4 May 88 18:51:22 GMT References: <2845@mmintl.UUCP> <1543@hubcap.UUCP> <768@l.cc.purdue.edu> <1705@alliant.Alliant.COM> Reply-To: kasper@csli.UUCP (Kasper Osterbye) Distribution: na Organization: Center for the Study of Language and Information, Stanford U. Lines: 38 Keywords: Babel-II In article <1705@alliant.Alliant.COM> steckel@alliant.UUCP (Geoff Steckel) writes: >A very major part of the art of engineering (including software) is >understanding and using the limitations of your materials, be they concepts, >software, or hardware. Give me powerful, elegant constructs - and not >so many of them I can't understand them! > > Geoff Steckel (steckel@allliant.COM) Geoff argues that the use of extensible languages leads to unreadable code for anybody but the author. I agree, but the same seems to happen in languages that do not include that kind of abstraction mechanisms. It happens in the form of programming idioms. Most programmes have their little tricks, that are hard to understand, or does something "dirty", and while I do not have to learn the abstracted formalism, I have to learn to recoqnize certain pieces of code, or data as being related in a very special way. Some examples from different languages is In Basic you can not have array of record, but then one just make an array of each primitive type involved, and remembers that the arrays are really just one structure. In prolog someone uses difference lists, which is not normal lists, and can not be used as such, but you must know that when you read the program. In Pascal variant record are used to implement soft typing. And one can go on. All these little things differ from person to person, and is one of the things that makes it difficult to read others programs, even if it is not an extensible language. Unfortunately it seems like there is no easy way out of this mess. I am personally in favor of ext. lang. but know the problem of readability, and yes I have tried to use some one elses dictionary in forth, and know what you mean. --Kasper Kasper Osterbye ||| /// ///| Internet: kasper@csli.stanford.edu ||| /// ///|| UUCP: {backbones..}!csli.stanford.edu!kasper |||<<< ///||| AT&T: (415) 323 9604 ||| \\\ ///=||| USMAIL: 2420 Tasso st. #3, Palo Alto CA 94301 ||| \\X// |||MIGA