Deutsch English Français Italiano |
<20240420074008.143@kylheku.com> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Kaz Kylheku <643-408-1753@kylheku.com> Newsgroups: comp.lang.c Subject: Re: Recursion, Yo Date: Sat, 20 Apr 2024 15:35:26 -0000 (UTC) Organization: A noiseless patient Spider Lines: 46 Message-ID: <20240420074008.143@kylheku.com> References: <uut24f$2icpb$1@dont-email.me> <uv68ok$11080$1@dont-email.me> <uv7a8n$18qf8$3@dont-email.me> <uv867l$1j8l6$1@dont-email.me> <_zSRN.161297$m4d.144795@fx43.iad> <20240411075825.30@kylheku.com> <r8TRN.114606$Wbff.54968@fx37.iad> <uva6ep$24ji7$1@dont-email.me> <uvah1j$26gtr$1@dont-email.me> <uvao71$27qit$1@dont-email.me> <uvb9r4$2c31v$1@dont-email.me> <uvcing$2kbfj$6@dont-email.me> <uveft2$346sv$1@dont-email.me> <uvf7vs$3911c$3@dont-email.me> <8734roqmdb.fsf@bsb.me.uk> <uvhm89$3s6na$2@dont-email.me> <uvi79d$2ubl$1@dont-email.me> <uvjs4c$ebsr$1@dont-email.me> <20240416231134.00004066@yahoo.com> <86edb1xtjf.fsf@linuxsc.com> <uvudfv$352i4$1@dont-email.me> <87wmosn8i4.fsf@bsb.me.uk> Injection-Date: Sat, 20 Apr 2024 17:35:27 +0200 (CEST) Injection-Info: dont-email.me; posting-host="eb13bb87e855c32ed9b47d8031ce9469"; logging-data="3936866"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+H6o7G6tNmBHStEZNeZR9/dlGacrXJuck=" User-Agent: slrn/pre1.0.4-9 (Linux) Cancel-Lock: sha1:gVbLfit0kIBiabxHAHT7kHD3XlY= Bytes: 3590 On 2024-04-20, Ben Bacarisse <ben.usenet@bsb.me.uk> wrote: > bart <bc@freeuk.com> writes: > >> On 19/04/2024 16:26, Tim Rentsch wrote: > ... >>> ... Certainly C has some >>> similarities to Algol 68, but I wouldn't say C and Algol 68 >>> are similar languages, only that they have a few similarities. >> >> I can't see any connection between Algol68 and C; I'm surprised at people >> who say they do. > > "Connection" is vague, but Dennis Ritchie has written about the > influence of Algol 68 on C. I was looking at both Algols recently; they have a go to statement with local statement labels, very similar to C. >> C was put together together as a systems language to do a job, not to >> implemement some esoteric concept of a language that few could understand. >> >> I understood it was based on languages like B and BCPL. > > BCPL had assignment statements but B followed Algol 68 and made > assignment an expression operator (along with the +=, -= etc versions). > This, of course, fed directly into C. Algol 60 included a selection operator, suggested by John MacCarthy of Lisp. That's likely how C ended up with the A ? B : C syntax. That's actually funny because MacCarthy first invented a three-operand IF operator, which he simulated via a function in Fortran. He used that to simplify his chess program and other programs. (This account is given in his History of Lisp article). His Fortran XIF, being a function, didn't have the evaluation semantics he wanted such that XIF(A, B, C) would evaluate only one of A and B. He somehow evolved this three-way if into the multi-branch conditional which he then favored; it became the Lisp cond with the M-expression surface syntax, and that being similar to what he proposed for Algol. Eventually Lisp people also went full circle, providing a two/three argument if operator or macro, alongside cond. -- TXR Programming Language: http://nongnu.org/txr Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal Mastodon: @Kazinator@mstdn.ca