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

时间:2010-06-14 19:30:29

标签: c

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

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

6 个答案:

答案 0 :(得分:36)

The C Programming Language 的第一版简介:

  

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

[...]

  

同样,因为语言反映了当前计算机的功能,所以C程序往往足够高效,不会强迫编写汇编语言。

[...]

  

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

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

答案 1 :(得分:11)

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

答案 2 :(得分:3)

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

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

答案 3 :(得分:1)

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

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

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

C:一种编程语言

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

P.S:随意按照你想要的方式回答这个问题:)

答案 4 :(得分:-1)

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

这会让C便携,但仍然相当低级别(至少在某些人看来,你最接近Assembler并且仍然是便携式的。)

答案 5 :(得分:-4)

在Smug Lisp Weenies的确切时刻忘记了他们的REPL是用C实现的。