Clojure经典实例

这篇是计算机类的优质预售推荐>>>>《Clojure经典实例》

功能性编程全面指南

编辑推荐

本书涵盖150多个具体实例,展示了有经验的Clojure开发者如何用这门JVM语言完成各种编程任务。解决方案全面广泛:从构建动态网站和应用数据库到网络通信、云计算、高级测试策略等,面面俱到。这些实例源于全球60多名顶级Clojure开发者。

本书的每个实例不仅可以即学即用,而且其中提供的关于解决方案原理的讨论,让读者可以在模式、方法和技巧上举一反三,从而在遇到本书未提及的其他编程任务时也能游刃有余。

通过阅读本书,你可以:

掌握内建原生数据和复合数据结构;

使用Leiningen工具创建、开发和发布库;

与本地计算机交互;

管理网络通信协议和库;

掌握连接和使用各种数据库的技术;

应用Ring HTTP服务器库构建并维护动态网站;

解决封装、发布、配置、日志等应用任务;

进行云计算和重量级分布式数据处理;

深入研究单元测试、集成测试、模拟测试和基于属性的测试。

内容简介

本书以具体实例的形式讲解了Clojure语言在不同领域的应用,不仅介绍如何运用Clojure,而且还展示了很多常见库。书中给出了添加了注释的示例代码,详细分析并解释了数百个真实世界的编程任务。读者既可通过本书深入了解Clojure的精髓,也可将本书用作参考指南,解决具体问题。

作译者

Luke
VanderHart

是一名Clojure和ClojureScript开发者,目前就职于Cognitect公司(Clojure之父在该公司任CTO)。他是Practical Clojure(Apress)和ClojureScript: Up and Running(O‘Reilly)的合著者之一,目前在北卡罗来纳州达勒姆市生活和工作。

Ryan Neufeld

通晓多种计算机语言,是一名全能型软件开发者,热衷于分布式系统和网络应用开发。Ryan十分善于为客户解决各种或棘手或简单的软件技术问题,及时为客户交付成果。他目前居住于北卡罗来纳州达勒姆市,是Cognitect公司的一名开发人员。

媒体评论

“Clojure是由实践者所创,也是为实践者而创,而这本书也一样,它源于实践,面向实践,是Clojure实际开发的全面指南。”

  ——Rich Hickey

  Clojure之父,Cognitect公司CTO

译者序

编程语言习得

  “熟悉与优雅正交。”

  ——Rich Hickey

  约二十年前,我买过一本高等教育出版社出版的《LISP 语言》,作者是马希文、宋柔。可惜当年没有老师指导,自己水平不够,未能深入下去,只留下了一点模糊的印象:LISP 语言适用于人工智能,括号很多。

  几年前,图灵公司的朋友送我一本《黑客与画家》,我连夜看完,重新燃起了对LISP 的兴趣。我在书评中写道:“读完之后有一种想去学习LISP 语言的冲动。一个不懂LISP 的Java 程序员,不是一个好的C++ 程序员。”

  现在,我终于找到了机会,开始学习Clojure 这种运行在JVM 上的LISP 方言。经过一段时间的学习,我完全被它迷住了!

  首先吸引我的是它的函数式编程特性。作为一个学习C++ 和Java 多年的程序员,我已习惯在程序中使用各种名词抽象,也就是领域术语,希望在程序中体现领域专家的思想和认识水平。而在Clojure 编程中,虽然它也很适合领域抽象,但它的抽象程度更高,它希望达到数学家认识世界的水平。问题的开头通常是“给定一个无限序列……”,而常见的例子是如何实现斐波那契数列。

  Leslie Lamport 说过,要将事情描述得清晰准确,人类发明的最好语言就是数学。这种对“表达的经济性”的追求,对于中国人是不陌生的。中国是诗歌的国度,而且古人对言简意赅的追求也有许多例子,比如“逸马杀犬于道”的故事。所以我觉得,LISP/Clojure 在精神上与有追求的中国程序员是契合的。

  其次,它特别适合开发领域特定语言(DSL)。在LISP 社区中流传着一个笑话,可以说明这一点:任何足够大的软件,最后都会实现一个半调子LISP 解析器。LISP 的底层抽象极其简单,允许程序员设计更多的抽象,来描述这个世界。

  学习一门新的语言,会改变学习者的思维方式。在面向对象编程时,我们更多关注单个对象。在函数式编程中,我们更多关注函数和集合。在工作中,不一定马上有机会使用Clojure,但其中学到的思维方式,将对编程产生立竿见影的影响。在翻译本书时,我同时在用Lua 开发项目,学习了Clojure,让我能写出更简洁、更优雅的Lua 代码。学习新语言有这样一些原则:(1)专注于与你相关的内容;(2)从学习这门语言的第一天起,就把它当作你的交流方式;(3)当你听得懂别人在说什么时,就会不知不觉慢慢习得这门语言;(4)语言不是大量的知识积累,而更像一种生理训练;(5)心理状态和生理状态都很重要,要愉快和放松。对于模棱两可要有一定的容忍性,对于细枝末节不要过于纠结,因为那会把你逼疯。本书提供了大量的例子,覆盖了日常编程领域的方方面面,正是学习Clojure
的好读物。

  在翻译本书的过程中,我学到了很多,在此郑重推荐给大家。不足之处,还望大家指正。

  王海鹏

  2014 年秋

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-07-31 05:51:14

Clojure经典实例的相关文章

Clojure经典实例 PDF下载

Clojure经典实例 PDF下载 Clojure经典实例 PDF下载 Clojure经典实例 PDF下载 Clojure经典实例 PDF下载 Clojure经典实例 PDF下载 Clojure经典实例 PDF下载 Clojure经典实例 PDF下载 点击下载 原文地址:https://www.cnblogs.com/nexts/p/12146725.html

iptables经典实例

Q:一局域网192.168.1.0/24,有web和ftp服务器192.168.1.10.192.168.1.11,网关linux,内网eth0,IP为192.168.1.1,外网eth1,IP为a.b.c.d,怎样作NAT能使内外网都能访问公司的服务器? A:# web# 用DNAT作端口映射iptables -t nat -A PREROUTING -d a.b.c.d -p tcp --dport 80 -j DNAT --to 192.168.1.10# 用SNAT作源地址转换(关键),

php之复制文件——php经典实例

php之复制文件--php经典实例 <?php function dirCopy($dir1,$dir2){ //判断是否目录存在 if(!file_exists($dir2) || !is_dir($dir2)){ //不是文件或目录 就创建 mkdir($dir2); } //打开 $dd=opendir($dir1); //遍历 while(false !== ($f=readdir($dd))){ //过滤 if($f=="." || $f==".."

JavaScript 实现的checkbox经典实例分享

JavaScript 实现的checkbox经典实例分享 本文主要给大家分享的是JavaScript实现checkbox多项选择的经典代码,非常的简单实用,有需要的小伙伴可以参考下 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 5

《C#并发编程经典实例》笔记

1.前言 2.开宗明义 3.开发原则和要点 (1)并发编程概述 (2)异步编程基础 (3)并行开发的基础 (4)测试技巧 (5)集合 (6)函数式OOP (7)同步 1.前言 最近趁着项目的一段平稳期研读了不少书籍,其中<C#并发编程经典实例>给我的印象还是比较深刻的.当然,这可能是由于近段日子看的书大多嘴炮大于实际,如<Head First设计模式><Cracking the coding interview>等,所以陡然见到一本打着"实例"旗号的

《PHP经典实例(第2版)》

PHP经典实例(第2版)能够为您节省宝贵的Web开发时间.有了这些针对真实问题的解决方案放在手边,大多数编程难题都会迎刃而解.<PHP经典实例(第2版)>将PHP的特性与经典实例丛书的独特形式组合到一起,足以帮您成功地构建跨浏览器的Web应用程序.在这个修订版中,您可以更加方便地找到各种编程问题的解决方案,<PHP经典实例(第2版)>中内容涵盖了:表单处理:Session管理:数据库交互:使用Web服务. 从初学者常见的问题到高级Web编程技术,这本包含了丰富的.具有实际应用价值的

c#初学-多线程中lock用法的经典实例

本文转载自:http://www.cnblogs.com/promise-7/articles/2354077.html 一.Lock定义     lock 关键字可以用来确保代码块完成运行,而不会被其他线程中断.它可以把一段代码定义为互斥段(critical section),互斥段在一个时刻内只允许一个线程进入执行,而其他线程必须等待.这是通过在代码块运行期间为给定对象获取互斥锁来实现的. 在多线程中,每个线程都有自己的资源,但是代码区是共享的,即每个线程都可以执行相同的函数.这可能带来的问

经典实例

综合实例 水仙花数(Narcissistic number): 也被称为超完全数字不变数(pluperfect digital invariant, PPDI).自恋数.自幂数.阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 n 位数(n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153). using System; using System.Collections.Generic; using System.

php简单文件管理器——php经典实例

<html> <head> <title>文件管理</title> <meta charset='utf-8' /> </head> <body> <?php //定义要查看的目录 $dir="/"; //先判断$_GET['a']是否已经传值 防止NOTICE错误 if(isset($_GET['a'])){ //选择判断要执行的操作 switch($_GET['a']){ case 'crea