我最近问过关于new languages and language features of the last 10 years的问题,但显然没有。
然而,我注意到一个问题是,我们的大部分注意力都集中在各种类型的微积分上。但仔细想想,从理论上讲,我可以将神经网络和遗传编程视为非基于微积分的编程模型,尽管缺乏独立的实现,但它们是近年来诞生的有趣想法(比如小于λ1930)。
同样开箱即用的还有查询语言、正则表达式和基于图/树的设计,它们虽然部分是数学的,但不是微积分,这让我思考现在编程中还有哪些非演算设计是重要的,还有哪些其他领域可以为我们提供新的编程范例?
**注意:**这个问题不是关于“新”的,而是关于不是来自微积分的。
发布于 2009-02-14 18:10:16
我认为这些领域的任何重大转变都可能是通过我们思考问题的方式的转变,而不是我们用来解决问题的语言的转变。
我们现在拥有的工具在解决计算问题方面相当出色,因为它们目前是框架的。对这些问题的新观点肯定会推动新语言的创建,但这只是一个副产品,而不是动力。
发布于 2009-02-14 18:04:19
神经网络已经有50多年的历史了,参见例如the Perceptron。
Genetic programming已经40多岁了。
现在原来的问题被编辑了,所以年龄不再相关了……
顺便说一句,面向对象编程起源于40多年前的模拟(Simula 67)。
大多数其他编程语言要么自下而上地派生自机器所能做的事情(1954年从FORTRAN开始的命令式语言),要么派生自某种计算的数学概念(例如1957年lambda演算启发Lisp以及后来的其他函数式语言)。Prolog是从数理逻辑派生的另一个例子)。你所看到的编程语言与微积分的关系大多是偶然的,因为数值计算在早期是计算机的主要用途,今天仍然很重要。
发布于 2009-02-14 18:09:18
新的编程范例可能会出现在并行编程实践中。目前,处理在多处理器上运行的程序的方法有很多,有些好,有些不好。我期望随着对这一主题的更多研究,几种核心方法将成为新语言的常见方法,以便以一种“简单”的方式使用它们。
https://stackoverflow.com/questions/549434
复制相似问题