Clojure 学习入门(1) - 学习资料
Clojure(发音类似"closure",['kləʊʒə(r)])是一套现代的Lisp语言的动态语言版,它是一个函数式多用途的语言,其语法和其他的Lisp一样,都是建立在 S-expression 之上,即”全是括号,前缀表达式”的语言。
Clojure可以执行于Java虚拟机(JVM)、通用语言运行时(CLR),以及JavaScript引擎之上。与其他Lisp一样,Clojure认为代码即数据,同时有复杂的宏系统。
Clojure 的理念和特性
下一代的语言
动态而强有力 (没错,它是lisp!)
对下面语句的意思的理解会因为读者编程经验的不同而有很大差异,它可能会让你非常兴奋,也可能让你产生一些轻微的不适. Clojure 是完全的,真正意义上的神圣的lisp语言的一个方言。
对于那些熟悉lisp语言的人来说,他们很快就会发现他们非常适应Clojure. 对于那些原先没有接触 过lisp的人来说,也没有必要担心, Clojure是简洁和无痛学习。
官方文档:
http://clojure.org/documentation
中文资料(强烈推荐):
1. clojure入门教程
http://xumingming.sinaapp.com/302/clojure-functional-programming-for-the-jvm-clojure-tutorial/
2. clojure文档翻译
http://code.google.com/p/clojure-doc-en2ch/w/list
3. clojure手册(低版本)
http://qiujj.com/static/clojure-handbook.html
4. clojure中文社区:
http://blog.clojure.cn/
5. Lisp中文社区:
http://www.lispchina.com/
英文资料(强烈推荐):
http://clojure-doc.org/articles/content.html
clojure 开源工具:
clojure工具箱汇总:
http://www.clojure-toolbox.com/
ring server:
https://github.com/ring-clojure/ring/wiki
compojure:
https://github.com/weavejester/compojure/wiki
noir web框架:
http://www.webnoir.org
sandbar session框架:
https://github.com/brentonashworth/sandbar/wiki
clojureQL连接数据库:
http://www.clojureql.org/
datomic数据库:
http://www.datomic.com/
fleetdb数据库:
http://fleetdb.org/
https://github.com/mmcgrana/fleetdb-client
pdf处理:
https://github.com/yogthos/clj-pdf
csv处理:
https://github.com/clojure/data.csv
json库:
https://github.com/dakrone/cheshire
https://github.com/mmcgrana/clj-json
mail库:
https://github.com/clojurewerkz/mailer
https://github.com/MayDaniel/clj-mail
图形处理库:
https://github.com/mikera/clisk
https://github.com/ztellman/penumbra/wiki/Applications
https://github.com/quil/quil
音频处理库:
https://github.com/overtone/overtone
报表工具库:
http://incanter.org/
定时任务框架:
http://clojurequartz.info
webservices
http://clojure-liberator.github.com
附:编程语言发展的编年史
编程语言的历史早于真正意义的计算机的出现。19世纪就有“可编程的”织布机和钢琴弹奏装置出现,它们都是领域特定语言(DSL)的样例。
据统计已有256种编程语言,这么多的语言中只有一些是常用的或实用的。
- 1951 – Regional Assembly Language
- 1952 – Autocode
- 1954 – IPL (LISP语言的祖先)
- 1955 – FLOW-MATIC (COBOL语言的祖先)
- 1957 – FORTRAN (第一个编译型语言)
- 1957 – COMTRAN (COBOL语言的祖先)
- 1958 – LISP
- 1958 – ALGOL 58
- 1959 – FACT (COBOL语言的祖先)
- 1959 – COBOL
- 1959 – RPG
- 1962 – APL
- 1962 – Simula
- 1962 – SNOBOL
- 1963 – CPL (C语言的祖先)
- 1964 – BASIC
- 1964 – PL/I
- 1966 – JOSS
- 1967 – BCPL (C语言的祖先)
- 1968 – Logo
- 1969 – B (C语言的祖先)
- 1970 – Pascal
- 1970 – Forth
- 1972 – C
- 1972 – Smalltalk
- 1972 – Prolog
- 1973 – ML
- 1975 – Scheme
- 1978 – SQL
- 1980 – C++ (既有类的C语言,更名于1983年7月)
- 1983 – Ada
- 1984 – Common Lisp
- 1984 – MATLAB
- 1985 – Eiffel
- 1986 – Objective-C
- 1986 – Erlang
- 1987 – Perl
- 1988 – Tcl
- 1988 – Mathematica
- 1989 – FL
- 1990 – Haskell
- 1991 – Python
- 1991 – Visual Basic
- 1993 – Ruby
- 1993 – Lua
- 1994 – CLOS (ANSI Common Lisp的一部分)
- 1995 – Java
- 1995 – Delphi (Object Pascal)
- 1995 – JavaScript
- 1995 – PHP
- 1996 – WebDNA
- 1997 – Rebol
- 1999 – D
- 2000 – ActionScript
- 2001 – C#
- 2001 – Visual Basic .NET
- 2002 – F#
- 2003 – Groovy
- 2003 – Scala
- 2007 – Clojure
- 2009 – Go
- 2011 – Dart
从1951年至今,人类一共发明了256种编程语言,每一种语言的出现都带有某些新特征。编程语言不断的在革新,很快就会有超出这个清单的新编程语言出现。更多参考 程序员必须知道的编程语言编年史
Clojure 学习入门(1) - 学习资料相关推荐
- React学习:入门实例-学习笔记
文章目录 React学习:入门实例-学习笔记 React的核心 需要引入三个库 什么是JSX react渲染三步骤 React学习:入门实例-学习笔记 React的核心 1.组件化:把整一个网页的拆分 ...
- 【《深度学习入门》—— 学习笔记(一)】
<深度学习入门>-- 学习笔记(一)_1-4章 第一章 Python入门 略 第二章 感知机(Perception) 2.1 感知机是什么 感知机接收多个输入信号,输出一个信号.x1, x ...
- python深度学习入门-与学习相关的技巧
深度学习入门-与学习相关的技巧 博主微信公众号(左).Python+智能大数据+AI学习交流群(右):欢迎关注和加群,大家一起学习交流,共同进步! 目录 摘要 1. 参数的更新 1.1 SGD 1.2 ...
- 深度学习入门整理学习(二)
深度学习入门 深度学习横跨矩阵论.概率论与数理统计.信息论.博弈论.最优化等理论,并融合机器学习.数据挖掘.大数据.人工智能等领域技术,是具有深度和广度的综合范例 数学基础 矩阵论 (1)正交矩阵 A ...
- 【《深度学习入门》—— 学习笔记(二)】
<深度学习入门>-- 学习笔记(二)_5-8章 第五章 误差反向传播法 方法一:基于数学式 - 严密简洁 方法二:基于计算图(computational graph) - 直观 5.1 计 ...
- 深度学习入门首推资料--吴恩达深度学习全程笔记分享
本文首发于微信公众号"StrongerTang",可打开微信搜一搜,或扫描文末二维码,关注查看更多文章. 原文链接:(https://mp.weixin.qq.com/s?__bi ...
- 深度学习入门课程学习笔记06 反向传播
本篇学习笔记对应深度学习入门课程 第七课 博客地址:http://blog.csdn.net/tangyudi 欢迎转载 反向传播: 咱们在之前的课程讲了一系列的前向传播的知识点,前向传播也就是从输入 ...
- 《基于张量网络的学习入门》学习笔记3
<基于张量网络的机器学习入门>学习笔记3 量子寄存器.量子状态叠加与并行处理的关系 不确定性原理 量子寄存器.量子状态叠加与并行处理的关系 叠加态的数学定义: ∣x⟩=α1∣x1⟩+α2∣ ...
- 深度学习入门 --- 自我学习与半监督学习
该章节参考ufldl 1.什么是自我学习(Self-Taught Learning)与半监督学习 首先,什么是半监督学习?当你手头上拥有在大量未标注数据和少量的已标注数据,那这种场景就可以说是半监督学 ...
- 深度强化学习入门到精通--资料综述
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 人工智能是21世纪最激动人心的技术之一.人工智能,就是像人一样的智能,而人的智能包 ...
最新文章
- tf.Variable 和 tf.get_variable的区别(2)
- Newtonsoft.Json反序列化(Deserialize)出错:Bad JSON escape sequence
- mysql 组内排序_mysql组内排序取最大值
- Android Sqlite
- 取当前进程对应之静态映像文件的绝对路径/proc/self/exe
- RobotFramework_4.SeleniumLibrary操作(二)
- C# Base64编码
- 《Linux内核分析》期末总结及学习心得
- (学习笔记)读取PDF/OFD文件
- android twitter 分享代码,Twitter分享集成
- HTML将div层级升到最高,CSS层级嵌套关系详解
- 将秒针声音加入JAVA_喜马拉雅联合秒针系统发布声音流广告报告
- asp.ne服务器代码显示http://l.longtailvideo.com/download/5/9/logo.png不可用,在Window Server2008 服务器上无法播放MP4媒体问题
- 计算机硬件英语词汇,计算机硬件英语词汇
- leetcode:2448. 使数组相等的最小开销【猜结论落在给定点 + 考虑初始值和变化量 + 三分法模板学习】
- oracle原销售订单退货,取消销售订单
- JVM内存模型是什么?
- 无锡清空win8应用商店缓存_微软surface常用清理内存缓存解决办法
- sqlserver2005 sql server database services安装失败解决方法
- stm32采集脉冲信号_随机脉冲信号采集卡的设计