Path: ...!3.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Bart Newsgroups: comp.lang.c Subject: Re: Top 10 most common hard skills listed on resumes... Date: Mon, 26 Aug 2024 12:05:02 +0100 Organization: A noiseless patient Spider Lines: 42 Message-ID: References: <92ab79736a70ea1563691d22a9b396a20629d8cf@i2pn2.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Mon, 26 Aug 2024 13:05:02 +0200 (CEST) Injection-Info: dont-email.me; posting-host="ebcc4e086173f1de784cfcef8522513a"; logging-data="2553545"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19mjUuhvjjT/ZfWJMl8YK9g" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:p4vk51MfUCAtY0eltd5undxSn8g= Content-Language: en-GB In-Reply-To: Bytes: 2468 On 26/08/2024 06:41, Lawrence D'Oliveiro wrote: > On Sun, 25 Aug 2024 16:30:17 +0100, Bart wrote: > >> So what language goes between Assembly and C? >> >> There aren't many! > > Quite a few, actually. Elsewhere I mentioned B (the precursor of C), BCPL > and BLISS. BLISS is a rather strange language. For something supposedly low level than C, it doesn't have 'goto'. It is also typeless. There is also a key feature that sets it apart from most HLLs: usually if you declare a variable A, then you can access A's value just by writing A; its address is automatically dereferenced. That doesn't happen in BLISS. If you took this program in normal C: int a, b, c; b = 10; c = 20; a = b + c; int* p; p = &a; then without that auto-deref feature, you'd have to write it like this: int a, b, c; *b = 10; *c = 20; *a = *b + *c; int* p; *p = a; (The last two lines are interesting; both would be valid in standard C; but the first set initialises p; the second set, compiled as normal C, stores a's value into the uninitialised p's target.)