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.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit 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: mcv@wxs.nl (Miguel Carrasquer Vidal) Subject: Re: Coding for Obscurity Date: 1997/11/26 Message-ID: <348c28b5.165149330@news.wxs.nl>#1/1 X-Deja-AN: 292851312 References: <343fbb5a.0@news.iprolink.ch> <34466EB4.3381@dynamite.com.au> <6275dt$agm$3@news.on> <344BCED0.2D51@dynamite.com.au> <62tpap$7gh$1@darla.visi.com> <3470EF6E.F74@lysator.liu.se> <64qsf0$ccc@dfw-ixnews11.ix.netcom.com> <3474BF28.2F9F@dynamite.com.au> <34741AAF.1C7@CWA.de> <34788101.7367@scitex.com> <01bcf8fc$e918e0a0$0644a3cd@jimj.jumpmusic.com> <3479F8FB.2D7F@mWilden.com> <65fr08$vtu$1@flood.weeg.uiowa.edu> Reply-To: mcv@wxs.nl Organization: World Access Newsgroups: comp.lang.ada,comp.lang.c,comp.lang.c++ Date: 1997-11-26T00:00:00+00:00 List-Id: On 26 Nov 1997 00:37:28 GMT, nospam@somewhere.ia.us (Robert S. White) wrote: >In article <3479F8FB.2D7F@mWilden.com>, Mark@mWilden.com says... > >>But ?: is not an idiom; it's a part of the language definition. I'll >>give you the benefit of the doubt and assume that when you think it >>through, you understand it. > > I _understood_ it in 1983. But right now in thinking about >it, I'll say that it would have been better from a code maintenance >point of view, that K&R had never thought of it as a convenient >typing shortcut. IMHO YMMV The idea of a conditinal expression was already in Algol, e.g. x := if i>0 then y else z; Algol 68 extended this to case-expressions like b[case i in 6, 3 out 4 esac] := false, and allowed if then else and fi to be abbreviated to (, |, |, ), giving either: x := if i>0 then y else z fi; or x := ( i>0 | y | z ); In CPL and later BCPL the conditional expression was also abbreviated, as in: x := i>0 -> y , z; This was changed to x = i>0 ? y : z; in B, so the K in K&R you mention above is actually Ken Thompson. This syntax was maintained unaltered in C. == Miguel Carrasquer Vidal ~ ~ Amsterdam _____________ ~ ~ mcv@wxs.nl |_____________||| ========================== Ce .sig n'est pas une .cig