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=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 11390f,4c42ac518eba0bbe X-Google-Attributes: gid11390f,public X-Google-Thread: 109fba,4c42ac518eba0bbe X-Google-Attributes: gid109fba,public X-Google-Thread: 103376,4c42ac518eba0bbe X-Google-Attributes: gid103376,public X-Google-Thread: 1014db,4c42ac518eba0bbe X-Google-Attributes: gid1014db,public From: Robert Bernecky Subject: Re: Documenting Code (was:Programming language vote - results) Date: 1997/10/31 Message-ID: <3459FC20.325A75EF@acm.org>#1/1 X-Deja-AN: 286202474 References: <343fbb5a.0@news.iprolink.ch> <343FD05C.8986A557@flash.net> <34428914.2D71D0F@ibm.net> <01bcd87f$7fefcf00$25a43a91@basil.omroep.nl> <34458CE3.507C@dynamite.com.au> <3444BFC6.794BDF32@druid.net> <34466EB4.3381@dynamite.com.au> <6275dt$agm$3@news.on> <344BCED0.2D51@dynamite.com.au> <62idmb$htg$1@news.on> <344DEAA9.5115@hal-pc.org> <01bce1bf$5c2baaa0$95b66bcf@dkelly.ark.com> <345776DD.424B@hal-pc.org> <3459A84A.246@dynamite.com.au> <63au56$hol$1@walter.cs.umd.edu> To: "James L. Ryan" X-Complaints-To: usenet@news1.tor.acc.ca X-Trace: news1.tor.acc.ca 878312220 29581 (None) 142.154.22.199 Organization: ACC TelEnterprises Ltd. Newsgroups: comp.lang.ada,comp.lang.apl,comp.lang.c,comp.lang.c++ Date: 1997-10-31T00:00:00+00:00 List-Id: James L. Ryan wrote: > About a year ago I started using (admittedly with reluctance!) the then > new control structures which appeared in Dyalog APL. (Dyadic had copied > the definitions implemented earlier in APL/2000.) After having used them, > I find that they themselves provide somewhat of a self-commenting > structure. That is, I can find my way around in a routine with such > structures with greater ease than in a similar routine written with > "conventional" means of flow control. I agree. I implemented most of APEX using them and found code MUCH easier to read and maintain. Two other points: a. Control structures make it easier to generate efficient compiled code than I can with GOTO. APEX generates code for these that matches or beats good hand-coded FORTRAN on many applications. b. Control structures make your INTERPRETED code run faster than GOTOd code. See my APL95 paper on dynamic programming in APL for an example of a 25% speedup in interpreted execution time by use of control structures. Bob