Emacs的构成:底层C函数库 , 上层Elisp。可以编译成*.elc
加快执行。
Java生态圈:底层JVM,上层Java、Scala、Clojure、Groovy、Jython。执行*.class
文件。
两个体系对比下来,Clojure和Elisp估计是一个类型的。既然都是图灵完备的,那么Emacs也是足够的强大了,有自己的生态系统也不为过。
如果用Java用腻了,之前也有看过一些其他杂七杂八的语言,那么Scala可能是比较好的一个选择。抛去语法,Scala的一些基础内容大概有如下几点:
- 类和对象,字段和方法,apply,update
- 函数作为一等对象的一些惯用法,这些在JavaScript里应该都知道的差不多了,作为值传递,写一写闭包
- Trait,类型相关
- 容器
- 模式匹配,OCaml和Haskell都有,了解的话,其实都是差不多
- 与Java、JVM的一些关系
- 并发,Actor,写出来和Erlang很像
- 以及一些用到的XML解析,很方便的GUI写法等等
最近也正在学习JVM上的这些语言,用来做一些原型真是不二的选择。