如果计算机(或编程语言)是我们理解这个世界的“望远镜”,无论这个“望远镜”如何精巧,它还是要人去操纵,并且,会被一部分人嫌弃,继而造出新的“望远镜” —— David 9
David一直相信,真正有用的工具,无论如何复杂,终究会用简单高效的形式提供给大众。虽然,目前python或R进行大数据或AI研究的门栏已经很低,但很可能还不够低,
要寻找这样一种“完美”的编程语言,首先我们须认清编程的目的是:“人类对机器提要求,机器完成要求”。但事实上,人类这种复杂的动物是不可能“完美地满足”的。目前任何一门编程语言以及未来语言都会面临“声明式编程”还是“命令式编程”的窘境:
如果你发号施令(对最忠诚的仆人),一开始,你可能给一条简单笼统的指令(声明式编程),希望你的仆人心领神会、想方设法把该办的事都搞定,呈现给你完美的结果,但是,后来你发现情况并不都和你预料的符合,于是你把需要改进的地方逐条告诉了仆人(各个要点和关键次序),这时你更像是亲力亲为(命令式编程)。之后你又厌倦了手把手指导,又开始了笼统的指令。。。这样循环往复,看似矛盾的两个过程,也一直交错出现在现代代码中:参考https://reedbarger.com/what-is-the-difference-between-imperative-and-declarative-code/
我们不能指望计算机帮我们搞定一切,但我们总想让它帮我们搞定更多。
上一代编程,是无场景无数据“喂养”的确定性编程时代,下一代编程,可能是灵活关注场景,持续数据“喂养”(David认为“持续”很重要),且具有丰富不确定性的编程时代。
对于下一代编程方法,一个可能憧憬就是概率式编程语言(probabilistic programming languages(PPLs))。通过这种语言,建模
加入David9的星球群,获得通行密码 , 阅读全文