我只是对所有的语言类型有点困惑。高级/低级语言区别与面向对象/程序区别相比有什么区别 - 如果有的话?很多类比似乎都很相似。高级编程语言是倾向于面向对象的,而低级语言是面向过程的吗?
回答
高/低级别的区别更多的是抽象而不是范式。通常情况下,你越“越低”,就越需要了解你正在运行的机器 - 它的内存,文件系统甚至处理器指令集。
高级语言在您和机器之间放置了一层抽象。它处理血淋淋的细节。这既好又坏。抽象带走了一些担忧,但也带走了控制。
一个高层次的语言可以是程序性的,面向对象,功能等..
较低层次的语言可能无法提供像面向对象的概念,因为面向对象是一种抽象。
这两个轴(“范式”和“层次”)之间不一定有任何因果关系,但我认为相关性是逻辑和函数式语言往往是最高层次,后面是面向对象语言,程序语言通常较低。
而不是问题的一部分,但我也认为相关的动态类型语言往往比静态类型的语言更高级。
我认为这可能是一个有趣的可视化,让人们可以在三个轴上进行编程语言的三维散点图:范例(逻辑/功能/ oo /程序)键入(静态/动态)和级别(请参阅例如针对测量水平的各种度量的“完成代码”)。
高级别/低级别是指语言对汇编程序和机器代码(汇编程序是低级别的,C被认为比C++或Java等级低)感知到的“接近度”。
面向对象程序编程是为支持某种程序设计方法(称为编程范例)而提供的语言工具。如果语言高或低,超出事实,OO语言往往不会低,因为汇编程序不了解对象和类,它们与语言高低无关。还有很多其他的范例,比如函数式编程。
“高级别”和“低级别”是人们可能不同意的模糊词汇。你可以看看编程语言提供的抽象数量,你需要编写多少代码才能完成特定的任务,然后调用需要更少代码的语言。当然,那么你需要一种测量代码大小的方法。
我喜欢说 - 这一切都归结为机器指令集。所以,无论代表多高级别的东西,它仍然归结为机器指令。所以,高级语言是思想的抽象,而低级语言则更接近硬件。
类比是相似的,因为它归结为一件事 - 机器代码!
不是真的。例如,C++是面向对象的,它的级别相当低。
我认为这是一个很好的比喻。
面向对象的语言往往比纯功能语言更高。看看C++和c。正如docesam所提到的,C++仍然是相当低的水平,但C++仍然比纯粹的功能性的哥哥c更高。因为面向不是唯一使语言成为高层次的东西,但它绝对是一个面向对象的指示器,意味着对真实原始机器指令的更多抽象。
但是,面向对象不足以确定哪种语言是最高级别的。
我想看看下面的事情:
- 的语言是否有静态或动态类型? (Javascript & Python vs Java和C++)
- 面向对象还是不是? (c vs C++)
- 纯文本宏或模板? (C对C++)
- 动态绑定VS静态绑定(再次使用Javascript &的Python和Java & C++)
- 是否语言支持命名的函数或者你有使用线跳?
- 该语言是否允许评论之类的内容?
- 还有更多
- 1. 面试问题:面向对象语言与面向对象语言的区别
- 2. XML是一种面向网络的编程语言吗?
- 3. 是否有高级语言编译为低级语言(如C)的术语?
- 4. 是否可以将低级语言转换为高级语言?
- 5. 面向对象编程语言中的关系特征
- 6. 为什么C++被称为面向对象的编程语言?
- 7. 是否有一种允许对对象进行低级别访问的面向对象的语言?
- 8. winbatch windows脚本语言面向对象?
- 9. 什么是一些最纯粹的面向对象的语言?
- 10. Python语法最接近的语言是更低级的语言!
- 11. 有没有完整的面向方面的编程语言?
- 12. Javascript是否可以模仿面向对象的语言?
- 13. LISA语言对象是否定向?
- 14. 面向语言的编程文章/论文/教程
- 15. 编程语言如何同时支持功能和面向对象编程?
- 16. 功能只在非面向对象的语言中使用吗?
- 17. 面向对象语言的堆对象表示
- 18. 硒是一种特定的面向语言(如Java)吗?
- 19. C语言的头文件和面向对象编程的可重用性?
- 20. 这是不好的面向对象编程吗?通过方法
- 21. 语言级别的线程
- 22. 是否有一种面向代理之间交互描述的编程语言?
- 23. 面向对象编程
- 24. 面向对象编程
- 25. Scala面向对象编程
- 26. mysqli面向对象编程
- 27. 面向对象编程(HOW!)
- 28. Python面向对象编程
- 29. 面向对象编程
- 30. Python:面向对象编程
我认为Renee所做的连接是有效的。 C++仍然是一种比原始C更高级别的语言。通用规则是面向对象的语言通常比纯粹的函数式语言更高级别,这是有效的。 – HumbleWebDev 2016-11-30 01:54:31