品味一种精心设计的编程语言,就像品茶。
Scala这杯茶混合了很多味道:结构化编程(while,for,if),面向对象,函数式编程,命令式编程,像脚本一样运行,像做企业级项目一样模块化,有延迟计算,有立即计算,有val,有var。所有的特性凝聚成一个单词: scalable. 众多两极化的特性彼此相依,如阴阳互生。我不是Scala语言的设计师,但是,如果我是,我肯定会从中庸的哲学角度出发设计这个语言,不让它的特性偏颇到任意方。这正是最难的,正是可伸展但不分裂的秘密所在。0和1只所以能做为计算机世界的基础,是因为它们是最小的不可再分的两极。
最底层的东西和最高层的东西有类似的结构,这是大自然的规律。像scala这样的和计算机底层对话的语言必将产生,这是谁都无法抗拒的自然规律。只不过Martin首先感觉到:是时候该有这样一门语言了。这就像当年机器语言之后产生汇编,汇编之后产生C,C之后产生C++,C++之后产生Java一样自然。如果Scala的团队没有正确地把握住这个方向,Scala也只会流行一时。
很久很久之前,人类没有火,后来会用火了。人给人类社会带来了巨变。
就在几年前,人类还没有Spark,后来Spark在实验室产生。然后Spark很自然地选择了Scala做为其实现语言(Spark和Scala的思想很多地方都是不谋而合的,所以说很自然,比如:交互式命令行,map,flatMap,filter函数)。Spark和Scala会给人类社会带来火一样的影响吗? 这是最激动人心的问题。
时间: 2024-08-03 04:25:16