有哪些冷门但很有意思的编程语言?
这个有趣的编程语言的话,大概还分两种,一种是实际应用中真正用来应用的,而另外一种,是纯粹娱乐的,真正应用是用不到,也用不了的。 冷门语言的第一大流派,首屈一指应当算是LISP了。虽然说LISP冷门,但是绝对是冷门中的霸主(还是冷门)。而且论资排辈,LISP是世界上至今还在使用的高级编程语言中第二老的(FORTRAN第一),由人工智能之父John McCarthy于1958年设计并实现。和UNIX一样,今天已经没有LISP,但是有LISP的一些方言和衍生语言,比如Common LISP、Emacs LISP、AutoLISP和Scheme等等。作为一种函数式编程语言,他的程序书写的思路和我们常见的过程式(包括面向对象和非面向对象)的语言差异很大,不好掌握。不过掌握的人都认为很好用。一直流传的一个这样的说法,「真正的程序员用C写程序,聪明的程序员用Delphi写程序,天才的程序员用LISP写程序」,可见这个语言的地位。另外值得一提的是,现在的高级编程语言的许多特性和概念,比如函数式编程、Lambda表达式、垃圾回收、大整数自动转换等等,都是从LISP中借鉴吸取的。 然后说几个我只是听说过一些,但不是非常了解的语言。Erlang,是由爱立信开发的一种适合于并行编程的语言。 Prolog,一种逻辑编程语言,建立在逻辑学理论基础上,最初被用来做自然语言处理,现在广泛应用在人工智能研究中。 Haskell,一种纯函数式编程语言,目前似乎也有挺多人对这个感兴趣的。 AWK,由著名的编译原理(龙书)的作者Alfred Aho设计并实现的一种编程语言,是一种非常优秀的文本处理工具,也是Linux和Unix环境中功能最强大的数据处理引擎之一。 R语言,一种适合于数据统计和分析的编程语言。 对于那些没有用的语言,有一些是用来娱乐,有一些是用来做学术研究的。 这些“没有用”的语言的最大的一个代表,就是brainfuck语言。brainfuck是一种极简单的语言,或者准确的说是一套编程指令,详细的说明可以详见文后参考资料。指令总共只有8条,虽然指令书很少,但是被证明是一种图灵完全的语言,也就是,C语言能实现的所有算法,用brainfuck也可以实现。因为功能和原理特别简单,个人认为,brainfuck是简单功能虚拟机、C语言编程练习、C语言程序设计练习的非常好的学习和练习材料。LOLCODE也是一种很特别的语言,里面的关键字很口语化,都是一些网络用语。 Whitespace,非常难阅读的编程语言。这种语言更可怕了,有效只有空格、制表符和换行符。由这一些空白字符的组合来表示这种指令。 Shakespeare,正如这种语言的名字一样,他的程序写出来就像是莎翁写的剧本。 Chef,跟Shakespeare有些类似,不同的是,他的程序写出来像是个菜谱。 Piet,这个编程语言不是用语言来编程的,而是,用位图。不同颜色的像素表示不同的指令和数据。