Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site ucbvax.BERKELEY.EDU Path: utzoo!watmath!clyde!burl!ulysses!ucbvax!info-modula-2 From: treid@MITRE.ARPA (Thomas Reid) Newsgroups: net.lang.mod2 Subject: Re: Overloading Message-ID: <8603041739.AA04491@mitre.ARPA> Date: Tue, 4-Mar-86 12:39:23 EST Article-I.D.: mitre.8603041739.AA04491 Posted: Tue Mar 4 12:39:23 1986 Date-Received: Fri, 7-Mar-86 04:05:20 EST Sender: daemon@ucbvax.BERKELEY.EDU Organization: The MITRE Corp., Washington, D.C. Lines: 31 I'll jump into the overloading fray. It is a tradeoff - sort of a forest and trees problem. Without overloading, you have super tight type checking but a tremendous proliferation of names to remember. The libraries are the size of trunks. If you program as a hobby, then remembering the exact formats of all of the library contents is an exercise in always looking up in the manual. If you live with the language 8 hours a da this will resolve itself. On the other hand, overloading already exists in Modula-2 (arithmetic operators). The discussion then evolves into a language designer's issue: how much. Wirth decided very little and removed basic sequential I/O. I believe that this was a mistake and makes using the langua more difficult to use without significantly increasing its soundness. Why do I feel this way? For the same reason that "+" is overloaded: the concept of sequential I/O is so basic to computing that its semantics are inherently understood in many different contexts. Thus, I would bring basic sequential I/O back into the language with variable length parameter lists of overloaded parameters. In my humble view, the increase in programmer productivity and listing readability is worth the loss in tightness. Where do you stop between this one slight perversion of the language's purity and the enormity of Ada? The basic rule I would use is: consider the extension if there is "universal" concensus on how to implement the construct and that the increased complexity is more than offset by the combination of understandability and productivity. Flames welcome. Tom Reid.