{"id":13746720,"url":"https://github.com/tonydeng/clojure-learning-notes","last_synced_at":"2025-07-27T05:32:46.437Z","repository":{"id":151775782,"uuid":"63946751","full_name":"tonydeng/clojure-learning-notes","owner":"tonydeng","description":"Clojure学习笔记","archived":false,"fork":false,"pushed_at":"2016-08-02T06:08:40.000Z","size":60,"stargazers_count":18,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-03T20:12:56.075Z","etag":null,"topics":["clojure","gitbook","notes"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tonydeng.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-07-22T10:56:02.000Z","updated_at":"2025-03-23T08:49:50.000Z","dependencies_parsed_at":"2023-07-31T10:15:16.727Z","dependency_job_id":null,"html_url":"https://github.com/tonydeng/clojure-learning-notes","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tonydeng/clojure-learning-notes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonydeng%2Fclojure-learning-notes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonydeng%2Fclojure-learning-notes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonydeng%2Fclojure-learning-notes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonydeng%2Fclojure-learning-notes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tonydeng","download_url":"https://codeload.github.com/tonydeng/clojure-learning-notes/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonydeng%2Fclojure-learning-notes/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267306715,"owners_count":24067035,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-27T02:00:11.917Z","response_time":82,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clojure","gitbook","notes"],"created_at":"2024-08-03T06:00:59.698Z","updated_at":"2025-07-27T05:32:46.211Z","avatar_url":"https://github.com/tonydeng.png","language":null,"funding_links":[],"categories":["Others"],"sub_categories":[],"readme":"# Clojure学习笔记\n\n![Clojure Logo](http://xahlee.info/UnixResource_dir/gki/lambda/Clojure-logo.png)\n\n## 为什么要学习Clojure\n\n我写Java也有10多年了，其间用过Python、PHP、Ruby、Groovy、JS等动态语言。Java相对C、C++来说有明显的优势，可以说是一种更高级的语言，高级语言带来的优势是能用更少的代码写出同样的功能，代码更接近与人的表达。\n\nJava依然是现在业界最流行的开发语言，但这并不意味着Java能够一直的辉煌下去。现在各种更高级的动态语言如雨后春笋，百花齐放，虽然目前还没有完全超越Java的地位，但是终究有一天会走向巅峰（毕竟，对于现在的业界来说，工程师的开发时间成本远远高于服务器的成本）。\n\n而且这些动态语言的理念和特性也是值得Java开发者学习的，从更高级的语言学习到的东西可以反过来更好帮助自己写好Java代码，这也是学习一门新语言的初衷。\n\n我最近选择[Clojure](http://clojure.org/)作为自己要学习的新语言，原因如下：\n\n1. Clojure是[Lisp](http://en.wikipedia.org/wiki/Lisp_(programming_language))的一种方言版本，继承了Lisp的绝大多数特性，而Lisp是IT界大牛[Paul Graham](http://paulgraham.com/)的名著《[黑客与画家](http://book.douban.com/subject/6021440/)》中极力推荐的。\n1. 这门古老的语言之一也诞生了50多年了，但它的先进性依然是其他语言不可比拟的，大多数的高级语言都或多或少的借鉴了Lisp的先进理念。Paul Graham在《[What Make Lisp Different](http://paulgraham.com/diff.html)》中有详细的说明。\n1. Clojure可以运行在JVM上，可以方便的调用Java类库，不用担心之前在Java上积累的经验全无用武之地，每个人从内心来说都是害怕改变的，平滑的过渡不失为一个好办法\n1. Twwitter非常著名的实时计算框架Strom采用的就是Clojure，说明它在高性能并发上具有特别的优势\n\n### 参考\n\n1. [Clojure的主要特性](http://clojure.org/features)\n1. [为什么Lisp语言如此先进](http://www.ruanyifeng.com/blog/2010/10/why_lisp_is_superior.html)\n\n## Clojure学习资料\n\n### 社区\n1. [4clojure](http://www.4clojure.com/)\n1. [clojure google group](https://groups.google.com/group/clojure)\n1. [Clojure China社区](http://clojure-china.org/)\n1. [semgentault clojure相关问题](https://segmentfault.com/t/clojure)\n1. [Clojure API中文文档](https://readthedocs.org/projects/clojure-api-zh/)\n\n### 视频\n\n1. [土豆上Clojure的合集](http://www.tudou.com/plcover/Hl_LPE2BpDo/)\n\n### Gitbook\n\n1. [lean-clojure](https://siddontang.gitbooks.io/lean-clojure)\n1. [Clojure入门教程](https://wizardforcel.gitbooks.io/clojure-fpftj)\n\n### 简书\n\n1. [学习Clojure的好资源](http://www.jianshu.com/p/a0b325ec209f)\n1. [Clojure零基础教程](http://www.jianshu.com/notebooks/4281317/latest)\n\n### Blog \n\n1. [庄周梦蝶 Clojure相关Blog](http://www.blogjava.net/killme2008/category/45592.html)\n1. [ivaneye.com Clojure相关Blog](http://www.ivaneye.com/type/#clojure)\n1. [一颗菠菜的Clojure相关Blog](http://yikebocai.com/page5/)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftonydeng%2Fclojure-learning-notes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftonydeng%2Fclojure-learning-notes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftonydeng%2Fclojure-learning-notes/lists"}