Programming languages 哪些编程语言不是';不算高水平?

Programming languages 哪些编程语言不是';不算高水平?,programming-languages,low-level,high-level,Programming Languages,Low Level,High Level,在信息学理论中,我经常听到和阅读高级和低级语言 然而,我不明白为什么这仍然是相关的,因为除了汇编语言之外,现在没有任何(相关的)低级语言在使用 所以你得到: 低水平 汇编程序 绝对不是低级的 C 基本的 FORTRAN COBOL 高层 C++ 红宝石 蟒蛇 PHP 若汇编程序是低级的,那个么你们怎么能把示例C放到同一个列表中呢。我的意思是:与汇编程序相比,C是非常高级的。甚至对于COBOL、Fortran等也是如此 那么,如果汇编语言真的是唯一的低级语言,为什么每个人都不断提

在信息学理论中,我经常听到和阅读高级和低级语言

然而,我不明白为什么这仍然是相关的,因为除了汇编语言之外,现在没有任何(相关的)低级语言在使用

所以你得到:

低水平

  • 汇编程序
绝对不是低级的

  • C
  • 基本的
  • FORTRAN
  • COBOL
高层

  • C++
  • 红宝石
  • 蟒蛇
  • PHP
若汇编程序是低级的,那个么你们怎么能把示例C放到同一个列表中呢。我的意思是:与汇编程序相比,C是非常高级的。甚至对于COBOL、Fortran等也是如此

  • 那么,如果汇编语言真的是唯一的低级语言,为什么每个人都不断提到高级语言和低级语言呢

这里纯粹是猜测,但这可能是语言转变的一种情况,即低级语言和高级语言之间的区别正在人们的头脑中慢慢演变为托管语言和非托管语言、类型化语言和非类型化语言等之间的区别。(至少在人们使用术语的方式上)你会发现

我们坚持的许多真理取决于我们自己的观点

对于C程序员来说,汇编语言是一种低级语言。 对于Java程序员来说,C是一种低级语言等等

我怀疑那些用1和0编程的人会认为汇编程序是一种高级语言。这都是相对的

(引自)

根据,低级语言是机器代码和汇编语言

来源:

在计算机科学中,一种低级语言 编程语言是一种编程语言 提供很少或不提供任何信息的语言 从计算机的 指令集架构。字眼 “低”是指较小或较小的 不存在的抽象量 在语言和机器之间 语言;因此,低水平 语言有时被描述为 “接近硬件”

然后,回答:

那么,如果汇编语言真的是唯一的低级语言,那么为什么每个人都不断提到高级语言和低级语言呢


我不知道“每个人”是谁,但我敢猜测,当高级语言不像今天这样普遍时,谈论低级语言和高级语言更为相关(因为有相当多的程序员编写汇编代码)。在现代,这是一个不太重要的区别。就个人而言,我很少听到人们使用这些术语,除了区分汇编程序或不使用程序(除了那些在Python上提到C或C++的人作为低级的时候,但这不是原始定义的精神)。这是一个关于术语、方言和视角的问题

例如,Lisp是高级语言还是低级语言?如果实现是在Lisp机器上运行,该怎么办

通常,当人们试图从低级到高级构建频谱时,他们试图量化的是“与硬件的接近程度”,而不是“抽象程度”

影响实现与硬件的接近程度的质量:

  • 程序员直接控制数据的内存布局,并在运行时访问数据的内存地址
  • 数学运算是根据硬件定义的,或者是松散定义的,以符合不同类型的硬件
  • 可能有一个库提供动态内存分配,但动态内存的使用是手动的
  • 字符串操作期间的内存管理是手动的
逆向品质是指实现从硬件中抽象出来的品质:

  • 程序员没有对数据地址(引用而不是指针)的运行时访问权限
  • 数学运算是用特定的术语定义的,与特定的硬件无关。(例如,ActionScript 3支持
    数字
    类型,该类型可以从整数自动转换为浮点,而不会出现溢出。)
  • 动态内存的管理由环境处理,可能通过引用计数、垃圾收集或其他自动内存管理方案
  • 字符串操作期间的内存管理始终对程序员隐藏,并由环境处理
与运行语言的硬件相比,其他特性可能会使语言变得非常抽象:

  • 声明性的、基于搜索的语法。(如序言)
考虑到这些因素,我将修改您所写的频谱,如下所示:

最低级别:

  • 有关平台的汇编语言
具有比程序集更高级别流控制的低级语言:

  • C、 C++
  • 帕斯卡
高级语言:

  • FORTRAN
  • COBOL
  • 蟒蛇
  • Perl
最高级别语言:

  • 序言
  • 蟒蛇
  • 计划

Python出现了两次——它跨越了一部分范围,这取决于代码的编写方式。

作为低级代码,我要补充:

  • .NETIL
  • Java虚拟机
  • 在VB6等环境中使用的其他P代码
在很大程度上,“低级”和“高级”不是二元范畴,而是一个连续体。有些语言显然是低级的(汇编、机器代码),但除此之外,实际上只有“高级”和“低级”

在我看来,“低级”语言需要看起来更像计算机体系结构的代码,“高级”语言接受看起来更像问题结构的代码。但是有了它,语言就可以变得非常简单