2009-06-02 344 views

回答

7

高/低级别的区别更多的是抽象而不是范式。通常情况下,你越“越低”,就越需要了解你正在运行的机器 - 它的内存,文件系统甚至处理器指令集。

高级语言在您和机器之间放置了一层抽象。它处理血淋淋的细节。这既好又坏。抽象带走了一些担忧,但也带走了控制。

一个高层次的语言可以是程序性的,面向对象,功能等..

较低层次的语言可能无法提供像面向对象的概念,因为面向对象是一种抽象。

0

这两个轴(“范式”和“层次”)之间不一定有任何因果关系,但我认为相关性是逻辑和函数式语言往往是最高层次,后面是面向对象语言,程序语言通常较低。

而不是问题的一部分,但我也认为相关的动态类型语言往往比静态类型的语言更高级。

我认为这可能是一个有趣的可视化,让人们可以在三个轴上进行编程语言的三维散点图:范例(逻辑/功能/ oo /程序)键入(静态/动态)和级别(请参阅例如针对测量水平的各种度量的“完成代码”)。

1

高级别/低级别是指语言对汇编程序和机器代码(汇编程序是低级别的,C被认为比C++或Java等级低)感知到的“接近度”。

面向对象程序编程是为支持某种程序设计方法(称为编程范例)而提供的语言工具。如果语言高或低,超出事实,OO语言往往不会低,因为汇编程序不了解对象和类,它们与语言高低无关。还有很多其他的范例,比如函数式编程。

0

“高级别”和“低级别”是人们可能不同意的模糊词汇。你可以看看编程语言提供的抽象数量,你需要编写多少代码才能完成特定的任务,然后调用需要更少代码的语言。当然,那么你需要一种测量代码大小的方法。

-1

我喜欢说 - 这一切都归结为机器指令集。所以,无论代表多高级别的东西,它仍然归结为机器指令。所以,高级语言是思想的抽象,而低级语言则更接近硬件。

类比是相似的,因为它归结为一件事 - 机器代码!

1

不是真的。例如,C++是面向对象的,它的级别相当低。

+0

我认为Renee所做的连接是有效的。 C++仍然是一种比原始C更高级别的语言。通用规则是面向对象的语言通常比纯粹的函数式语言更高级别,这是有效的。 – HumbleWebDev 2016-11-30 01:54:31

0

我认为这是一个很好的比喻。

面向对象的语言往往比纯功能语言更高。看看C++和c。正如docesam所提到的,C++仍然是相当低的水平,但C++仍然比纯粹的功能性的哥哥c更高。因为面向不是唯一使语言成为高层次的东西,但它绝对是一个面向对象的指示器,意味着对真实原始机器指令的更多抽象。

但是,面向对象不足以确定哪种语言是最高级别的。

我想看看下面的事情:

  • 的语言是否有静态或动态类型? (Javascript & Python vs Java和C++)
  • 面向对象还是不是? (c vs C++)
  • 纯文本宏或模板? (C对C++)
  • 动态绑定VS静态绑定(再次使用Javascript &的Python和Java & C++)
  • 是否语言支持命名的函数或者你有使用线跳?
  • 该语言是否允许评论之类的内容?
  • 还有更多