学习笔记之Clojure

一个Java背景的爱好者,学习Clojure语言具备得天独厚的优势。其原因在于:

  • 了解Java ——受益颇多:class-paths(类路径),class loaders(类加载器),constructors(构造函数),methods(方法),static methods(静态方法),standard libraries(标准库),ar files(jar 文件)等等。
  • 了解JVM——heap(堆),garbage collection(垃圾回收),perm-gen space,debugging(调试),profiling(分析),performance tuning(性能优化)等等。
  • Java生态库——采用什么样的日志框架?哪种类型的Web服务器?数据库驱动?等等。
  • Maven situation——有时你必须知道在lein情况下会发生什么状况?
  • 了解如何构建大型代码基地——Clojure代码库在不断壮大。

  • 面向对象分析与设计——这个与弄清函数的位置设置相似。
    1. 写自己的程序:可以试着尝试去实现你平时有的一些想法,无论大小,有个开始总是好的——而且不要太在意成败,记住你的目的是为了“练手”
    2. 参考API,包括官方的API文档和第三方提供API帮助的文档/网页资源,这里是一个笔者觉得有用的API资源,有用性和友好度按顺序排列:
      1. ClojureDocs:这个网站列出了Clojure的各个API,给出了版本对应等信息。最重要的是上面会有贡献者提供的一些有用例子和解释,这对于了解API的具体用法和注意事项有很大的帮助;而且通常所列的例子都比较符合Clojure的书写惯例,一个不错的资源站点;
      2. 官方的CheatSheet:这个cheatsheet归类列出了主要的API,在进行初步查找是很有帮助的,网页版本(还有PDF版本的)里的每个API都有链接定位到官方API文档;
      3. Clojure官方API:官方的API有个不好的地方就是很少例子,而且描述里可能会过多的包含了一些相关术语/对其它API的引用——而这些术语/引用可能需要在读者对Clojure有了更具体的认识之后才能够明白,但毕竟这里是官方的API文档,它的用语和描述会更准确和具体——结合前述第一个资源进行参照阅读,对读懂官方API会有很好的好处,这样间接可以了解一些Clojure的术语。在对Clojure更了解之后,相信读者就可以通过仅阅读官方API就知道其使用方式了(另:大部分官方API可以通过在REPL下执行“(doc api-名字)”来得到);
      4. Clojure源码:对于想深入了解的人,阅读其源码是最好的方式。而且阅读Clojure源码有额外的好处:你所接触到的几乎就是最优秀的Clojure写法!(在REPL里面可以通过执行“(sourceapi-名字)”来查看到源码)
      5. Google:你懂的……
    在实际的使用中,笔者会在不确定Clojure是否存在适用API时先查看cheatsheet,然后根据可疑API链接到官方API,如果在官方API文档阅读中遇到不是很了解的情况就会去ClojureDocs找例子,如果也没确定到具体信息,就先Google一下——最后如果有兴趣或需要进一步了解的话就会直接跑去看源码了。

你可能感兴趣的:(学习笔记之Clojure)