人们什么时候开始思考’C是便携式汇编程序’?

它似乎是流行的编程语言文化中的“被接受的概念”,“C是便携式汇编程序”。 我至少15年前第一次听到这个消息。 但什么时候它真的成为流行文化的一部分?

注意:如果您不同意’C是便携式汇编程序’,请跳过此问题。 这个问题是关于“流行的编程文化”。 我会在这个问题上添加评论,你可以对那些不同意该陈述的人进行投票。

C编程语言第一版的介绍:

C是一种相对“低级”的语言。 这种表征不是贬义; 它只是意味着C处理大多数计算机所做的相同类型的对象,即字符,数字和地址。

[…]

同样,因为语言反映了当前计算机的function,所以C程序往往足够高效,以至于没有强制编写汇编语言。

[…]

虽然C与许多计算机的function相匹配,但它独立于任何特定的机器架构,因此只需稍加注意就可以轻松编写“便携式”程序……

至少将可移植性与汇编语言的一般function相结合的一般想法似乎从一开始就存在。

这就是C开发的原因。 从一开始,C就是为便携性而设计的。

C语言是“便携式汇编程序”的概念源于一个简单的事实,即大多数“流行文化级别”的C程序员都懒得学习语言“硬” – 学术 – 方式,而宁愿选择从实践中“学习”,大部分是通过将语言命令与隐含的底层机器代码相关联。 这些协会中的大多数是基于对语言的相当荒谬的误解,后者在这里(以及在其他论坛上)表达的问题是“我有20年的C编程经验,但我不明白为什么我的类型 – 惩罚黑客不再有效“。 然而,大多数“便携式汇编程序”类型实际上以他们的方法为荣,考虑到其他人没有足够的能力看到C代码背后的汇编:)

换句话说,唯一将C视为便携式汇编程序的人是从不打扰学习该语言的人。 它确实只是一种流行文化。 C不是一个便携式汇编程序,它实际上不是“同意”或“不同意”它的问题,而是将其视为一个事实。 您似乎提到的“流行的编程文化”与专业C编程世界的关系很少。

他们开始推断/误解词语定义的那一刻:)

汇编语言:数字机器代码的符号表示(又名助记符)和编程特定CPU架构所需的其他常量。

汇编程序:将汇编语言转换为机器语言的程序。

C:一种编程语言

(1) is not a mnemonic of a particular CPU architecture (2) cannot be fed into an assembler 

PS:随意按你想要的方式回答这个答案:)

我的猜测是第一次有比C.更高级别的语言。

这将使C便携,但仍然相当低级别(至少在某些人看来,你最接近Assembler并仍然是可移植的)。

在目前,Smug Lisp Weenies忘记了他们的REPL是用C实现的。