J语言与APL
J语言和Java没啥关系,风格也迥然不同。
J语言是从APL语言发展而来。
APL语言由Ken E. Iverson教授发明出来,是很老的语言了。没有十分的流行,可能是因为它的编程需要使用一些特殊的“象形符号”,而不是现在大多语言采用的ASCII字符。
APL语言更像是用数学符号来描述问题,其特点是代码极为精简。甚至到丧心病狂的程度。用普通语言几十行,甚至上百行的程序,它可能一行就搞定了。
这当然也带来一个问题。就是可读性就降低了,你可能对着程序看了半天才明白其用意。这也是它没有大流行的原因吧。
J语言可以看为APL的后继。
Iverson教授看到APL特殊符号不方便,后来和Roger Hui又一起开发了J语言。
语言特点
可以认为 J 是面向数组的
它会把数组(甚至是数组的数组或称为向量的)当成一个普通数字一样整体处理,这就避开了大量的循环逻辑。
J风格更多是函数式而非命令式的。
通过函数的复合与嵌套,可以获得强大的表达能力,这是以数学为背书的,其简洁高效性,非命令式写法所能及。
它沿用了自然语言中的概念,使用动词,副词,名词等概念来组成句子。
语言安装包很小,提供了很完善的帮助系统。
可移步网站:www.jsoftware.com
show一点端倪
上几个小例子体会一下
-
加法在不同场景下有不同的含意: