On 17 Apr 2001 23:10:33 GMT, Neelakantan Krishnaswami <neelk at alum.mit.edu> wrote: >I note that precisely the same argument can be made about adding >functions to a language. Not so. Adding a fuction to the language means it is part of the language that all would know. A function is added, I can go to www.python.org and look it up. In fact I have done so when my Beazley book, written for 1.5.2, failed me when I was working on Python 2.0. However, the macros provide for undocumented contructs, undocumented dialects. One would then need to first learn those macros, those dialects, before even reading the code. Note that this is different than having to read the functions that the person has written. Why? Functions are written in the language, the macros /alter/ the language. To take it to an analogy of natural languages (which is I say 'dialect' so often) take American "standard" English, British "standard" English and a sub dialect of each of those languages (Ebonics and Cockney?). They all come from the same roots. Use those most common roots and chances are high everyone will understand. Words (keywords) are used to form sentences (statements). From those sentences come paragraphs (functions/methods). From paragraphs come chapters (libraries/classes). From the chapters come a book (program). Even though each book (program) is written from a set of chapters (libraries/classes) made of up paragraphs (functions/methods) composed of sentences (statements) that must be read to understand where the narrative is going (program is doing) one can read it quite efficiently. However, change the dialect (macros), alter what the words (keywords) mean and now it becomes a chore to even read the sentences (statements). One must then first study the dialect (macros) before being able to do more than muttle through the sentences (statements) puzzling over each seemingly familiar word which may or may not have the same definition as the one you've previously learned. To me it is clear that there is a world of difference between reading a new book (reading new code) in a language and dialect you are fluent in than reading a new book in a dilect which is similar to but suffciently different to the one you're accustomed to (code with macros). Now imagine the variety of dialects in the common national languages and imagine if each person could redefine any given word in any manner they chose. Right now we only have regional differences and that is tough enough. But a programmer with a macro system on top of a programming language isn't really limited to regional differences, is he? As long as the code works, FOR HIM, then it works. So, again, I find it laughable that adding the complexity of having to relearn the language for each programmer's whimsy is somehow lauded as an exercise in simplicity and efficiency. More so when it is proven that maintainability in such an open and free environment (Perl, in spite of what Douglas Alan says) is hard to obtain. No, give me one dialect. It may have limitations, to be sure, but the massive increase in maintainability far outweigh any limitations there are. -- Steve C. Lamb | I'm your priest, I'm your shrink, I'm your ICQ: 5107343 | main connection to the switchboard of souls. -------------------------------+---------------------------------------------
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4