Deutsch   English   Français   Italiano  
<86edb1xtjf.fsf@linuxsc.com>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!weretis.net!feeder6.news.weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Tim Rentsch <tr.17687@z991.linuxsc.com>
Newsgroups: comp.lang.c
Subject: Re: Recursion, Yo
Date: Fri, 19 Apr 2024 08:26:44 -0700
Organization: A noiseless patient Spider
Lines: 56
Message-ID: <86edb1xtjf.fsf@linuxsc.com>
References: <uut24f$2icpb$1@dont-email.me> <uv5lgl$s6uj$1@dont-email.me> <uv61f6$v1jm$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>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Injection-Date: Fri, 19 Apr 2024 17:26:46 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="0518bb4613e9ed3dcecbcbf6c934dda9";
	logging-data="3232813"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19XG+xxf2BjlTESBRHpPxFUw0QvmfA3eAM="
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux)
Cancel-Lock: sha1:hl1tI0x9t4TuPwP99VYQNtflv9o=
	sha1:hgOpYQfsl9zT6oQ9M4wPeM6pwbw=
Bytes: 4100

Michael S <already5chosen@yahoo.com> writes:

> On Mon, 15 Apr 2024 20:36:58 +0200
> Janis Papanagnou <janis_papanagnou+ng@hotmail.com> wrote:
>
>> Algol 68 and C are so different that mutual understanding might be
>> difficult depending on personal background, focus, and fantasy. :-)
>
> Interesting take.
> I never learned Algol-68, but from pieces of info that I occasionally
> got I was always thinking of it as rather similar to 'C'.
> Both languages originated from common ancestor (Algol-60) and changed
> it in similar directions, e.g. blurring the line between operators and
> expression, making function pointers first class citizen, allowing
> declaration of variables at block scope.
> I think, in the past, when I remembered more about Algol-68, I had seen
> more similarities.

Algol 60 already had block scope declarations.

Algol 60 may not have had (pointer to) function/procedure variables,
but it did allow procedure identifiers as arguments to a procedure
call, and procedure variables are an obvious generalization.

Relative to Algol 60, C slightly expanded what forms are allowed in
expressions, but mainly as a way to simplify the language syntax:

  * no separate cases for assignment / function call statements

  * so for()'s are more general and don't need specializing

In contrast, in Algol 68 the notion of "expression" is expanded
to allow the possibility of arbitrary variable declarations and
loops (IIANM; certainly I am not an expert on Algol 68).

Furthermore there are some significant differences between C and
Algol 60:

  * Algol allows nested functions (aka procedures), but C doesn't

  * Algol has call by name, C is strictly call by value

  * Arrays are first class types in Algol, but not in C (and C
    has pointer arithmetic as an essential part of the language,
    which TTBOMK is not the case in any Algol-derived language)

  * Algol is "strict" whereas C is "lax" - for example, in Algol
    the controlling expression of an 'if' statement must be a
    'Boolean expression', whereas in C it's just any expression

To me, Algol 68 represents an expansion and extension of the
Algol 60 language philosophy, whereas C represents a deliberate
departure from that philosophy;  not necessarily a radical
departure, but a departure nonetheless.  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.