代码之家  ›  专栏  ›  技术社区  ›  Jacques Carette

人们什么时候开始认为“C是可移植的汇编程序”?

c
  •  22
  • Jacques Carette  · 技术社区  · 16 年前

    在编程语言的流行文化中,“C是可移植的汇编程序”似乎是一个“公认的概念”。我至少在15年前第一次听到这个消息。但它什么时候真正成为流行文化的一部分呢?

    注意:如果您不同意“C是可移植汇编程序”,请跳过这个问题。这个问题是关于“编程的流行文化”。我将在这个问题上添加一条评论,你可以投票给那些不同意这一说法的人。

    6 回复  |  直到 15 年前
        1
  •  36
  •   Jerry Coffin    16 年前

    从导言到第一版 C程序设计语言 :

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

    …]

    同样,由于语言反映了当前计算机的能力,C程序的效率往往足够高,因此不必强迫编写汇编语言。

    …]

    虽然C与许多计算机的功能相匹配,但它独立于任何特定的机器体系结构,因此只要稍微小心,就很容易编写“可移植”程序…

    至少,将可移植性与汇编语言的一般功能相结合的一般思想似乎从一开始就已经出现了。

        2
  •  11
  •   S.Lott    16 年前

    这就是开发C的原因。从一开始,C就是为可移植性而设计的。

        3
  •  3
  •   AnT stands with Russia    16 年前

    C是“可移植汇编程序”的概念源于一个简单的事实,即大多数“流行文化水平”的C程序员太懒惰,不愿意以“硬”的学术方式学习语言,而宁愿从实践中“学习”,在很大程度上,这是通过将语言命令与隐含的底层机器代码关联起来实现的。这些关联大多是基于对语言相当荒谬的误解,后者在这里(以及其他论坛上)以“我在C语言编程方面有20年的经验,但我不明白为什么我的类型punning hack不再有效”的方式出现。然而,大多数“可移植的汇编程序”类型实际上以他们的方法为荣,考虑到其他人不足以看到C代码后面的汇编:)

    换句话说,唯一认为C是可移植汇编程序的人是那些从不费心学习语言的人。这确实只是一种流行文化。C不是一个可移植的汇编程序,它实际上不是一个“同意”或“不同意”的问题,而是一个 知道 这是一个困难的事实。你提到的“编程的流行文化”与专业的C编程界几乎没有联系。

        4
  •  1
  •   itisravi    16 年前

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

    汇编语言:数字机器代码的符号表示法(也称为助记法),以及编程特定CPU体系结构所需的其他常量。

    汇编程序:把汇编语言转换成机器语言的程序。

    C:一种程序设计语言

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

    附言:请随意否决这个答案。

        5
  •  -1
  •   Justin Niessner    16 年前

    我想这将是第一次有比C更高级的语言。

    这将使C成为可移植的,但仍然是相当低的级别(至少在某些情况下,是最接近汇编程序的,而且仍然是可移植的)。

        6
  •  -4
  •   John    16 年前

    就在这个时候,自鸣得意的lisp-weenies忘记了他们的repl是用c实现的。