为什么我们说像C这样的语言是自上而下的,而像Java或C ++这样的OOP语言是自下而上的?这种分类在软件开发中有任何重要性吗?
这更多关乎范式(面向对象,命令式,函数式等),而非语法。
自下而上编程是自上而下编程的相反。它指的是一种编程风格,其中一个应用程序是从编程语言的现有原语开始构建的,逐渐构建越来越复杂的功能,直到整个应用程序被编写完为止。
在同一篇文章中:
在诸如 C 或 Java 的语言中,自下而上编程采取从语言的原语或现有抽象数据类型构建抽象数据类型的形式。
大多数过程性或低级语言采用自上而下的方法,如C语言。同样,高级语言如java、c++等采用自下而上的方法。
在自上而下的方法中,所有系统或大型函数都被分解成小的子系统,而在自下而上的方法中,小的子系统被组合在一起开发一个大的最终系统。
例如,递归是自上而下的方法,而迭代是自下而上的方法。
C是一种结构化语言,程序的顺序是从上往下的,从主方法开始。
而面向对象编程则依赖于类和对象数量。在OOP中,程序的流程不是自上而下的方式。