Path: csiph.com!eternal-september.org!feeder.eternal-september.org!nntp.eternal-september.org!.POSTED!not-for-mail From: Keith Thompson Newsgroups: comp.lang.c Subject: Re: A thought of C Date: Wed, 15 Apr 2026 16:52:01 -0700 Organization: None to speak of Lines: 77 Message-ID: <87fr4vvl26.fsf@example.invalid> References: <3a3462bdd72c4ed9d392a78b7d369a7b5ccc3b04.camel@gmail.com> <87jyu9tbq9.fsf@example.invalid> <722ff6ff518fe213dd47b392d325dd4cde27c71e.camel@gmail.com> <874ilcx245.fsf@example.invalid> <6cdcb0cb48526baf40b07cb7853d64c9b25c8fd2.camel@gmail.com> <87zf33vpnh.fsf@example.invalid> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Date: Wed, 15 Apr 2026 23:52:02 +0000 (UTC) Injection-Info: dont-email.me; posting-host="1e0bef0e1ec57bd67eb672eeef0be697"; logging-data="1334517"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19evRr3UVABhFlFsyENUI3n" User-Agent: Gnus/5.13 (Gnus v5.13) Cancel-Lock: sha1:6Yfrq1+Gz8aYu37qSKf6YlOnJYE= sha1:RqYMLjJZWTKRZ/Ihh4Fy+HmuMsI= Xref: csiph.com comp.lang.c:397568 wij writes: [104 lines deleted] >> Again, yes, C is a relatively low-level language.  And again, >> C is not an assembly language. >> >> And again, if you can cite a real-world example of the kind of >> "sophisticated assembler" you're talking about, that would be an >> interesting data point. [signature snipped] When you post a followup, please trim quoted text that's not relevant to your reply. And in particular, don't quote signatures. > I had thought questions like yours might have been due to the English problem.  > I did not mean C is (equal to) assembly, but C is-a assembly (logic course 101). No I don't think there's an English language issue. I understand what you're saying. There are a number of programming languages. C is one of them. There are a number of assembly languages, which are a subset of the set of programming languages. You claim that C is an assembly language. You're wrong. C is not an assembly language. The meaning of "assembly language" is, I believe, reasonably and consistently well understood. An assembly language program specifies a particular sequence of CPU instructions as its output, typically stored in an object file. C is not that. > And I hope the following code could explain some confusion. [code and 'assembly' snipped] No, not at all. [...] > The 'assembly' could be 'structured assembly', but then I felt the > result should not be much different from C... One last try. I'm going to make a few statements, all of which I believe to be true. For each one, please indicate whether you agree or disagree. Feel free to elaborate, but I'm looking for a yes/no for each. 1. An assembly language program specifies a sequence of CPU instructions. The mapping might not be simple (e.g., macros), but it is unambiguous. 2. A C program does not specify a sequence of CPU instructions. (I'm ignoring inline assembly, which is a non-standard feature and not what we're talking about.) 3. A C program specifies behavior, without reference to any particular CPU instructions. (For example, I can write a "hello, world" C program and compile and execute it on an x86_64 system and an ARM system. It behaves as specified on both. The two executables have no CPU instructions in common.) 5. C is a relatively low-level language (compared to Python, for example). 6. The fact that C is a relatively low-level language does not imply that C is an assembly language. 7. C is not an assembly language. If you still think that C is an assembly language, please provide a definition of the phrase "assembly language". -- Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com void Void(void) { Void(); } /* The recursive call of the void */