未来的编程语言如何更好地促进抽象?

Nic*_*wis 10 abstraction programming-languages

设计可理解软件(实际上,设计任何东西)的关键属性之一是开发一组良好的抽象.目前,这些抽象包括函数,类,接口,递归和高阶函数等.但还有什么呢?我们怎样才能进一步抽象出我们的设计,这样我除了直接,直接的目标外,我不需要考虑任何事情?现有技术尚未利用哪些新颖的抽象?

另请注意,我列表中的大多数项目(可能是递归的例外)也是用于代码重用的工具.代码重用不是这个问题的主题,也不是我认为良好抽象的必要方面.函数作为抽象很有用,因为它们隐藏了描述性名称背后的内容,而不是因为我可以从几个不同的地方调用它们.

一个结构不良的想法:一个驱动程序函数只调用一系列其他函数,而不维护它自己的任何状态,真的和函数一样吗?我们把它写成一个函数,并将其称为函数,但它可能代表了一个不同的概念?这通过在返回值和过程而不返回值的过程之间进行区分来反映在某些语言中.但也许有更好的方法来查看这种差异,以某种不同的方式来抽象相对不相关的步骤序列?

重申一下,未来的编程语言如何才能更好地促进抽象?

Nic*_*kis 5

一个强大的绝对工具,Lisp宏.为什么不回顾过去和现在呢?:)


Spe*_*ort 1

通过内置对愚蠢想法的检测,当这些想法被绊倒时,会将开发人员锁定在 IDE 之外,并拒绝让他们再次编码。

OOP 很好地促进了抽象。是开发人员提出了不完善的想法。