在信息学理论中,我一直听到并阅读有关高级和低级语言的内容。
但我不明白为什么这仍然相关,因为除了今天使用的汇编程序之外没有任何(相关的)低级语言。
所以你得到:
低电平
绝对不是低级
高级别
如果汇编程序是低级别的,你怎么能把例如C放到同一个列表中。我的意思是:与汇编程序相比,C是非常高级的。即使对于COBOL,Fortran等也一样。
答案 0 :(得分:53)
你会发现
我们坚持的许多真理都取决于我们自己的观点。
对于C程序员,Assembler是一种低级语言。 对于Java程序员来说,C是一种低级语言,依此类推。
我怀疑用{1}和0编程first stored-program computer的人会认为汇编程序是一种高级语言。这都是相对的。
答案 1 :(得分:7)
根据Wikipedia,低级语言是机器代码和汇编语言。
来自消息来源:
在计算机科学中,一个低级别的 编程语言是一种编程 提供很少或没有的语言 从计算机中抽象出来 指令集架构。这个单词 “低”指的是小或 不存在的抽象量 在语言和机器之间 语言;因为这个,低级别 语言有时被描述为 “靠近硬件。”
然后,回答:
那么,如果汇编程序真的是唯一的低级语言,为什么每个人都会继续提及高级和低级语言。
我不知道“每个人”是谁,但我想冒昧地猜测,当高级语言不像现在这样平常时,谈论低级与高级语言更为相关level(因为有相对大量的程序员编写汇编代码)。在现代,它是一个不那么重要的区别。就个人而言,我很少听到人们使用这些术语,除了区分大会与否(除非那些时候你可能会听到有人提到Python引用C或C ++作为低级别,但这不符合原始定义的精神)。
答案 2 :(得分:7)
你问的是一个相对主观的问题;这是一个关于术语,白话和观点的问题。
例如,Lisp是高级还是低级语言?如果实现在Lisp机器上运行怎么办?
通常,当人们试图建立从低级到高级的频谱时,他们试图量化的是“与硬件的接近程度”,而不是“抽象”的程度。
实现与硬件接近的品质:
逆向质量,这些质量可以算作实现从硬件中抽象出来的:
Number
类型,该类型从整数自动转换为浮点而不是经历溢出。)与运行它的硬件相比,其他特性可能会使语言非常抽象:
考虑到这些因素,我会修改您编写的频谱,如下所示:
最低级别:
具有比汇编更高级别的流量控制的低级语言:
高级语言:
最高级语言:
Python意图出现两次 - 它根据代码的编写方式跨越一部分频谱。
答案 3 :(得分:4)
作为低级别,我会补充:
答案 4 :(得分:3)
语言的“水平”是移动目标。 1973年,PL / I被认为是一种高级语言。今天,C被认为(至少是语言专业人士)是一种低级语言[见脚注]。一些原因:
高级语言可能包括
根据此定义,某些候选人可能是“高级语言”,可能包括Icon,Scheme,Smalltalk和一些您喜欢的脚本语言。
在我年轻的学者和恐龙漫游地球的那一天,人们将Icon称为“非常高级语言”。就在15年前,你甚至可以参加一个关于超高级语言的学术研讨会。但是这个术语已经不再使用了。
为什么每个人都不断提及高级和低级语言?
即使“高”和“低”之间的差异不断变化,但上面列出的区别仍然很重要。并且有很多许多的区别,“高”和“低”这两个词可以是一个有用的简写。但对于愤世嫉俗者而言,高级语言看起来至少与我最喜欢的语言一样强大,而低级语言就是其他所有语言。换句话说,“水平”很容易退化成纯粹的名字。
脚注:很难找到专业会议上使用术语的引文,特别是当专业人士不使用“低级别”和“高级别”这两个术语时,因为他们并非如此技术。但danben询问了引用,我发现了一对:
“为了提供所需的精确度,实验程序通常用低级语言(例如C或Pascal)编写,”在refereed article on computer vision中。
“C编程语言以其处理低级构造的灵活性而闻名,”important paper by Necula et al中。
P.S。不要过多地依赖维基百科来获取有关编程语言的好信息,特别是如果维基百科参考文献没有引用任何参考文献或来源
答案 5 :(得分:0)
纯粹在这里猜测,但这可能是一种语言转换的情况,即低级和高级语言之间的区别正逐渐在人们的脑海中演变为托管语言和非托管语言之间的区别,键入和非类型语言等。 (至少在人们使用术语的方式上)。
答案 6 :(得分:0)
在很大程度上,“低级别”和“高级别”不是二进制类别,而是连续统一体。有些语言显然是低级的(汇编,机器代码),但除此之外,实际上只有“更高级别”和“更低级别”。
正如我所看到的,“低级”语言需要看起来更像计算机体系结构的代码,而“更高级”语言则接受看起来更像问题结构的代码。但是,对于一个问题,语言可能是高级别的,而对另一个问题则是低级别的。
答案 7 :(得分:0)
低电平 二进制 汇编
ET IL Java JVM 在VB6等环境中使用的其他P代码绝对不是低级
Ç BASIC FORTRAN COBOL 蟒蛇 Perl的 帕斯卡
高级别 C ++ 红宝石 蟒蛇 PHP PROLOG 方案