From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.7 required=5.0 tests=BAYES_00,MSGID_RANDY autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,75a8a3664688f227 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-01-12 03:23:35 PST Path: supernews.google.com!sn-xit-02!supernews.com!news.gv.tsc.tdk.com!news.iac.net!news-out.cwix.com!newsfeed.cwix.com!news.maxwell.syr.edu!nntp2.deja.com!nnrp1.deja.com!not-for-mail From: dmitry6243@my-deja.com Newsgroups: comp.lang.ada Subject: Re: Parameter Modes, In In Out and Out Date: Fri, 12 Jan 2001 11:05:36 GMT Organization: Deja.com Message-ID: <93modu$36k$1@nnrp1.deja.com> References: <7Cx56.90736$A06.3322588@news1.frmt1.sfba.home.com> <937jab$s23$1@nnrp1.deja.com> <3A57CD7F.2228BFD5@brighton.ac.uk> <938p3u$omv$1@nnrp1.deja.com> <93cagm$c1j$1@nnrp1.deja.com> <93e4e6$ucg$1@nnrp1.deja.com> <93encq$brm$1@nnrp1.deja.com> <93f6ar$m44$1@nnrp1.deja.com> <93flab$2mh$1@nnrp1.deja.com> <93fqau$6m2$1@nnrp1.deja.com> <93h9mo$bbm$1@nnrp1.deja.com> <93il87$iqo$1@nnrp1.deja.com> <93k6dv$qt6$1@nnrp1.deja.com> <93ko49$auq$1@nnrp1.deja.com> NNTP-Posting-Host: 212.197.149.215 X-Article-Creation-Date: Fri Jan 12 11:05:36 2001 GMT X-Http-User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt) X-Http-Proxy: 1.1 x69.deja.com:80 (Squid/1.1.22) for client 212.197.149.215 X-MyDeja-Info: XMYDJUIDdmitry6243 Xref: supernews.google.com comp.lang.ada:3941 Date: 2001-01-12T11:05:36+00:00 List-Id: In article <93ko49$auq$1@nnrp1.deja.com>, Robert Dewar wrote: > That was a "mini-computer", so called because it was tiny > compared to main-frames. You cannot judge typical large > application program size by looking at mini-computers of > the time. The 64K memory seemed absurdly small by mainframe > standards (it was already common to see multiple megabytes of > physical memory on mainframes at that time). So looking at > program size on PDP-11's as a guide for typical program size > is like looking at the Palm Pilot today to get an idea of > typical program size today (on the Palm Pilot, applications > larger than 100K are unusual, and indeed my brother's datebk4 > program, at about 450K is the largest application program in > common use on that platform :-) Sorry but this is an incorrect analogy. There are three classes of computers: micro, mini and mainframes. PDP-11 was a mini computer, that's right. Which means that the nowaday analog would be a workstation, not the Palm Pilot. > > The point was that among all arguments pro and cotra > > including some feature into a universal and long living > > system, a reference to balance between complexity and > > functionality is the weakest one. Please note the words > > "universal" and "long living". > > Sounds like you have not had much experience in the real world > of language design, where this balance is THE primary issue in > design considerations. In which units do you measure complexity and functionality? Which value of Balance = Complexity / Functionality is the goal. 2.5 of "balance units"? (:-)) This is not a scientific issue. It is about feeling and belief. From your experience you feel that MD would be too expensive [= useless (:-))]. I respect your opinion, for I know your qualification. But it is not enough for me to change my feeling that MD will be universally adopted in the near future [MD C++ extensions can be already found in the internet]. It would be sad if this issue would be another nail in the Ada's coffin. > > IMO the first role should play such factors regularity, > > correctness and volume. > > Sorry, that sentence is too garbled, I have no idea what > "volume" refers to in the context of language design. I used this word instead of "complexity". Because it seems that you have reserved "complexity" for compiler implementation (:-)). > Regularity (often referred to as orthogonality) is indeed > a critical feature, and actually this is where it is very > difficult to get a clear definition of MD (or MI for that > matter :-) Restrictions like "a type can be derived from only one base", or "an operation shall dispatch on parameters of same type having actual values of same type", or "not all types may have dispatching subroutines", or "instances of packages having some interesting types shall be global (instantiated at the lirary level)", or "a derived type contains a representation of the base" are viewed (at least by some language users) as irregularities. I would consider such things as problems, no matter whether I or somebody else knows how to solve these problems. > Correctness is an odd concept in the language design > environnment, unless you mean that something is correct if > dmitry declares it correct (an approach you seem to have taken > in the past). If you mean consistency in a formal sense, yes, > then of course this is a necessary (but not sufficient) > condition. I am glad to hear this (:-)) > Language design is much harder than people think. Well meaning > technical folks with a little bit of experience in language > semantics, but no experience in full language design, often > vastly underestimate the difficulties involved. Did I say that MD is simple? > > Anyway, let's see what will happen with MD in the static > > typed languages in the next 5-10 years. > > My guess: nothing much. I just don't see any constituency that > would push in favor of moving in this direction for statically > typed languages. The arguments are quite weak (note that Dmitry > has not been able to present any specific arguments, beyond the > claim that binary operators require MD, but with no good > examples). Binary operators do not require MD. MD is required by dispatching binary operators. And apart from my weak arguments: 1. [Not related to a specific language] Is MD a useful concept? 2. [In Ada context] Do we need MD? > In practice in Ada, you can always achieve the effects of MD > in specific instances, and the generalization is just not worth > the effort, given how rarely it would be of use. Well, such arguments can be applied to the tagged types in general, as well as to any language feature, until the language reduces to something assembler-like. You should admit that the common purpose languages are evolving in the "slightly" opposite direction. -- Regards, Dmitry Kazakov Sent via Deja.com http://www.deja.com/