拜马来人的问题,我突然想到问自己,人工开始智能 机器都在学习。人,还能干什么?
当年,计算机之父图灵的图灵机概念为第一个计算机语言 FORTRAN 立下了 imperative language 的groudwork。而图灵的老师 Alonzo Church 搞了 lambda calculus,造就了 第一个 functional language: Lisp
早期 是 imperative language 和 functional language 之争,好像 imperative language略胜几筹。
AI 的概念也几乎同时就有了,而且早期的AI研究中,Lisp是最重要的主角。从 symbolic 处理到 prototyping,非 Lisp不可。七十年代认为,到了九十年代,95%的计算机工作都是 AI。实际情况是,到了九十年代,做 AI的不到 1%。那时,AI和Lisp 虽然一直被看好,但一直蛰伏。
接着 Prolog出场了,这是一种全新的语言,declarative 语言,因为都人工智能了,不需要命令式的imperative语言,而是 declarative 语言,直接告诉机器你要什么。
虽然现在Prolog做的专家系统,几乎寿终正寝了。但是 智能越来越人工了,机器越来越会学习了。imperative语言,AI都会编写,还会比大多数专业的编的好,那么还需要学 imperative语言吗?如果不 的话,学什么呢?
我推荐一下新的declarative语言,这些才是程序员和AI进行交流,告诉AI你需要什么的语言:
1) D 语言,兼备 imperative语言和declarative语言,非常好的兼顾,适合 performance critical AI 程序
2)Idris 语言 类似 Haskell。随着AI编程Python越来越乱,Idris提供可靠的AI编程
3)Oz 语言,适合 AI 程序的整合
4)Racket 非常 flexible, 可能在 Robotics 大显身手
5)Scala 适合大数据
现在这些语言并非主流,但未来可期