Xref: utzoo comp.arch:4596 comp.lang.misc:1537 Path: utzoo!mnetor!uunet!lll-winken!lll-tis!ames!necntc!linus!alliant!steckel From: steckel@Alliant.COM (Geoff Steckel) Newsgroups: comp.arch,comp.lang.misc Subject: Re: Universal OS & universal language Message-ID: <1705@alliant.Alliant.COM> Date: 4 May 88 00:00:44 GMT References: <2845@mmintl.UUCP> <1543@hubcap.UUCP> <768@l.cc.purdue.edu> Reply-To: steckel@alliant.UUCP (Geoff Steckel) Distribution: na Organization: Omnivore Technology, Newton, MA Lines: 40 Keywords: Babel-II Summary: Keep it simple, PLEASE In article <762@l.cc.purdue.edu> cik@l.cc.purdue.edu (Herman Rubin) writes: >> >The language ... should ... try to include it _all_. In article <768@l.cc.purdue.edu> cik@l.cc.purdue.edu (Herman Rubin) writes: >And they must realize that the resulting system will probably be inadequate, >and therefore must be easily extensible. This means that the user must be >able to use notation which he considers easy to read, as long as that notation >is not already coopted, and in some cases it might be necessary to change >existing notation. This is done in mathematics all the time, and does not >lead to problems. I will argue that extensible languages lead to fairly large problems in programming systems. As soon as more than one person uses a system, "personal taste" rears its head. The more a language needs extending, the more the resultant language-prime becomes unintelligible to the next reader. Have you ever tried to read a math paper where the author invented fifty new symbols and formalisms? Try, then, using those formalisms PERFECTLY to change a paper 3000 lines of equations long. Then hand your work to someone else in the hall and leave the building, and let that person do the same to what you've done. Result? A mess... The worst case are languages where one does not debug, but discards and starts again (exaggeration, but I am quoting smart, sophisticated users!): APL - the original one-liner programs PL/I - the most sub-set prone major language forth - just try and use someone else's dictionary EL/1 and other extensible languages ADA with highly overloaded operators In almost any language with a macro facility it is possible to "extend" the language to the point of incomprehensibility - and quite quickly! 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)