Clojure学习01:开始起步
我们先要了解下什么是Clojure,我们从它的特性来了解:
1、首先它是一门编程语言,并且它写的程序是运行在jvm上的,同java语言一样。
2、Clojure代码可以使用任意java类库,反之java代码也可以使用任何的Clojure库,这使得Clojure天生就有强大的功能,因为有大量已有的java类库可以被使用。
3、Clojure语言基于Lisp语言的,它是Lisp语言的一种方言,它保留了Lisp语言最好的一些特性。
4、Clojure语言是一种函数式编程语言。
5、Clojure语言是一种动态编程语言,同时也是强类型的。
6、Clojure提供了进行并行、并发编程的创新式解决方案。
那怎么开始使用Clojure呢?
首先我们需要JDK或JRE环境,因为它是运行在jvm上的。然后就只需要到 http://www.clojure.org/ 下载一个Clojure版本即可,
下载得到的是一个zip包,但只需要压缩包中的一个jar包 clojure-1.8.0.jar ,我们这里下载的是版本1.8 。
Clojure的开发测试环境
1、最简单的不需要任何开发环境,直接在命令下打开 read-eval-print loop (REPL)交互式界面进行操作。
如:
java -cp clojure-1.8.0.jar clojure.main Clojure 1.8.0
user=> (+ 2 3)
5
user=>
在命令行下运行 java -cp clojure-1.8.0.jar clojure.main 就打开了一个交互式命令,提示符默认为user=>
2、Leiningen工具
Leiningen是一个用于管理Clojure项目的工具,可以用它来开发Clojure程序,
它会自动帮下载Clojure,也提供了更比Clojure自带的REPL(上面的介绍)更强大的REPL工具。
详细信息可查看 http://leiningen.org/index.html
3、可以在eclipse或itellj等IDE开发工具进行开发
总结,本文我们介绍了Clojure语言的基本特性,以及如何起步进行开发,后续的文章我们会逐步介绍。
Clojure学习01:开始起步的更多相关文章
- Python学习--01入门
Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...
- Java虚拟机JVM学习01 流程概述
Java虚拟机JVM学习01 流程概述 Java虚拟机与程序的生命周期 一个运行时的Java虚拟机(JVM)负责运行一个Java程序. 当启动一个Java程序时,一个虚拟机实例诞生:当程序关闭退出,这 ...
- Android Testing学习01 介绍 测试测什么 测试的类型
Android Testing学习01 介绍 测试测什么 测试的类型 Android 测试 测什么 1.Activity的生命周期事件 应该测试Activity的生命周期事件处理. 如果你的Activ ...
- Java学习01
Java学习01 第一章 1.JRE与JDK JDK(JAVA Develop Kit,JAVA开发工具包)提供了Java的开发环境和运行环境,主要用于开发JAVA程序,面向Java程序的开发者; J ...
- ThinkPhp学习01
原文:ThinkPhp学习01 一.ThinkPHP的介绍 MVC M - Model 模型 工作:负责数据的操作 V - View 视图(模板 ...
- 【iScroll源码学习01】准备阶段 - 叶小钗
[iScroll源码学习01]准备阶段 - 叶小钗 时间 2013-12-29 18:41:00 博客园-原创精华区 原文 http://www.cnblogs.com/yexiaochai/p/3 ...
- JVM学习01:内存结构
JVM学习01:内存结构 写在前面:本系列分享主要参考资料是 周志明老师的<深入理解Java虚拟机>第二版. 内存结构知识要点Xmind梳理 案例分析 分析1 package com.h ...
- webservice学习01:wsdl文档结构
webservice学习01:wsdl文档结构 wsdl文档结构 WSDL文档示例 <wsdl:definitions xmlns:xsd="http://www.w3.org/200 ...
- spring学习(01)之IOC
spring学习(01)之IOC IOC:控制反转——Spring通过一种称作控制反转(IOC)的技术促进了低耦合.当应用了IOC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创 ...
随机推荐
- java json的处理
maven依赖 <dependencies> <dependency> <groupId>com.alibaba</groupId> <artif ...
- asp.net mvc重写RequestValidator
/// <summary> /// <httpRuntime requestValidationType="xxx.CustomRequestValidator" ...
- LintCode-两个字符串是变位词
题目描述: 写出一个函数 anagram(s, t) 去判断两个字符串是否是颠倒字母顺序构成的 样例 给出 s="abcd",t="dcab",返回 true ...
- 国内BI工具/报表工具厂商简介
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...
- 牛人眼中如何精通spring?
现在市场上,spring框架很火,很多公司面试题直接将spring中某个api拿出来考面试人员,我去东南融通就遇到了这个情况,我拒绝做这些没有水准的试题,如果公司非让让我做,我想这样的公司也不值得我来 ...
- Protel99SE制作拼板的方法
制作步骤: 1.在PCB编辑里按快捷键 S/A全选复制源PCB全部内容,再按Ctrl+C看到十字光标.点击左键. 2.打开目标PCB文件,点击Edit菜单,在下拉菜单中点击Paste special( ...
- HDU 1157 Who's in the Middle
#include <cstdio> #include <algorithm> using namespace std; int main() { int n; while(sc ...
- java实现冒泡排序,选择排序,插入排序,快速排序(简洁版)及性能测试
1.冒泡排序是排序里面最简单的了,但性能也最差,数量小的时候还可以,数量一多,是非常慢的. 它的时间复杂度是O(n*n),空间复杂度是O(1) 代码如下,很好理解. public void bubbl ...
- 拿出来分享了!VIP珍藏!!!全网最齐全的 DEDECMS模板 全盘下载地址列表!没有你找不到的!
拿出来分享了!VIP珍藏!!!全网最齐全的 DEDECMS模板 网盘地址!没有你找不到的! 模板类型最齐全: ----------------------优美的走起!------------ 一:DE ...
- 【企业库6】【日志应用程序块】实验2:创建和使用异步Trace Listener
Lab 2: Create and Use an Asynchronous Trace Listener 实验2:创建和使用异步Trace Listener In this lab, you will ...