其次,Clojure 的 API 设计上,有时候不符合你的直觉,而是符合 Clojure 的哲学,比如 contains? 函数对 vector 等数组型集合的调用上。关于这一点,Rich 的回答是 Elegance and familiarity are orthogonal.,也就是优雅和熟悉是正交关系的。保持 API 内在的一致性,比直觉的 熟悉 更重要,这是更深入思考、理性的直觉。
第四,性能上,虽然 Clojure 生成的字节码已经很高效,也有 type hint 这样的技术来帮助提升性能,但是会有不少的转型 (checkcast)、装箱和拆箱(boxing and unboxing)以及类型判断分支跳转的多余指令,这在一些性能敏感的应用里可能会暴露出来。尽管我认为大多数网站型的应用瓶颈都会落在 IO 上。