七周七语言

出版日期:2012-5-8
ISBN:9787115276110
作者:Bruce A.Tate
页数:246页

作者简介

内容简介:
从计算机发展史早期的Cobol、Fortran到后来的C、Java,编程语言的家族不断壮大。除了这些广为人知的语言外,还涌现了Erlang、Ruby等后起之秀,它们虽被喻为小众语言,但因其独特性也吸引了为数不少的追随者。
Bruce A. Tate是软件行业的一名老兵,他有一个宏伟目标:用一本书的篇幅切中要害地探索七种不同的语言。本书就是他的成果。书中介绍了Ruby、Io、Prolog、Scala、Erlang、Clojure和Haskell这七种语言,关注每一门语言的精髓和特性,重点解决如下问题:这门语言的类型模型是什么,编程范式是什么,如何与其交互,有哪些决策构造和核心数据结构,有哪些独特的核心特性。
在这个飞速发展的信息时代,程序员仅仅掌握甚至精通一门语言是远远不够的。了解多门语言蕴涵的思维方式,在编码中互相借鉴,再挑出一两门对自己口味的语言深入学习,这些已经成为在软件行业中安身立命之本。从这个意义上说,每个程序员都应该看看这本《七周七语言》。

书籍目录

目      录

第1章 简介 1
1.1 不走寻常路 1
1.2 语言 2
1.3 谁应该买这本书 4
1.3.1 学会如何学习 4
1.3.2 乱世英雄 4
1.4 谁不应该买这本书 5
1.4.1 超越语法 5
1.4.2 不是安装指南 6
1.4.3 不是编程参考 6
1.4.4 严格督促 6
1.5 最后一击 7
第2章 Ruby 8
2.1 Ruby简史 9
2.2 第一天:找个保姆 10
2.2.1 快速起步 10
2.2.2 从命令行执行Ruby 10
2.2.3 Ruby的编程模型 11
2.2.4 判断 12
2.2.5 鸭子类型 15
2.2.6 第一天我们学到了什么 16
2.2.7 第一天自习 16
2.3 第二天:从天而降 17
2.3.1 定义函数 17
2.3.2 数组 17
2.3.3 散列表 19
2.3.4 代码块和yield 20
2.3.5 定义类 22
2.3.6 编写Mixin 25
2.3.7 模块、可枚举和集合 26
2.3.8 第二天我们学到了什么 27
2.3.9 第二天自习 28
2.4 第三天:重大改变 28
2.4.1 打开类 29
2.4.2 使用method_missing 30
2.4.3 模块 31
2.4.4 第三天我们学到了什么 35
2.4.5 第三天自习 35
2.5 趁热打铁 35
2.5.1 核心优势 35
2.5.2 不足之处 37
2.5.3 最后思考 37
第3章 Io 38
3.1 Io简介 38
3.2 第一天:逃学吧,轻松一下 39
3.2.1 开场白 39
3.2.2 对象、原型和继承 40
3.2.3 方法 43
3.2.4 列表和映射 44
3.2.5 true、false、nil以及单例 46
3.2.6 Steve Dekorte访谈录 48
3.2.7 第一天我们学到了什么 49
3.2.8 第一天自习 50
3.3 第二天:香肠大王 50
3.3.1 条件和循环 51
3.3.2 运算符 52
3.3.3 消息 54
3.3.4 反射 56
3.3.5 第二天我们学到了什么 57
3.3.6 第二天自习 57
3.4 第三天:花车游行和各种奇妙经历 58
3.4.1 领域特定语言 58
3.4.2 Io的method_missing 60
3.4.3 并发 62
3.4.4 第三天我们学到了什么 64
3.4.5 第三天自习 64
3.5 趁热打铁 65
3.5.1 核心优势 65
3.5.2 不足之处 66
3.5.3 最后思考 66
第4章 Prolog 67
4.1 关于Prolog 68
4.2 第一天:一名优秀的司机 68
4.2.1 基本概况 68
4.2.2 基本推论和变量 69
4.2.3 填空 70
4.2.4 合一,第一部分 73
4.2.5 实际应用中的Prolog 75
4.2.6 第一天我们学到了什么 77
4.2.7 第一天自习 77
4.3 第二天:离瓦普纳法官开演还有
15分钟 78
4.3.1 递归 78
4.3.2 列表和元组 79
4.3.3 列表与数学运算 82
4.3.4 在两个方向上使用规则 83
4.3.5 第二天我们学到了什么 86
4.3.6 第二天自习 87
4.4 第三天:维加斯的爆发 87
4.4.1 解决数独问题 87
4.4.2 八皇后问题 91
4.4.3 第三天我们学到了什么 96
4.4.4 第三天自习 96
4.5 趁热打铁 96
4.5.1 核心优势 97
4.5.2 不足之处 97
4.5.3 最后思考 98
第5章 Scala 99
5.1 关于Scala 99
5.1.1 与Java的密切关系 100
5.1.2 没有盲目崇拜 100
5.1.3 Martin Odersky访谈录 100
5.1.4 函数式编程与并发 101
5.2 第一天:山丘上的城堡 102
5.2.1 Scala 类型 102
5.2.2 表达式与条件 103
5.2.3 循环 105
5.2.4 范围与元组 107
5.2.5 Scala中的类 109
5.2.6 扩展类 111
5.2.7 第一天我们学到了什么 113
5.2.8 第一天自习 114
5.3 第二天:修剪灌木丛和其他新把戏 114
5.3.1 对比var和val 115
5.3.2 集合 115
5.3.3 集合与函数 119
5.3.4 第二天我们都学到了什么 124
5.3.5 第二天自习 124
5.4 第三天:剪断绒毛 125
5.4.1 XML 125
5.4.2 模式匹配 126
5.4.3 并发 128
5.4.4 实际中的并发 129
5.4.5 第三天我们学到了什么 132
5.4.6 第三天自习 132
5.5 趁热打铁 133
5.5.1 核心优势 133
5.5.2 不足之处 134
5.5.3 最后思考 135
第6章 Erlang 136
6.1 Erlang简介 136
6.1.1 为并发量身打造 137
6.1.2 Joe Armstrong博士访谈录 138
6.2 第一天:以常人面目出现 139
6.2.1 新手上路 140
6.2.2 注释、变量和表达式 140
6.2.3 原子、列表和元组 141
6.2.4 模式匹配 142
6.2.5 函数 144
6.2.6 第一天我们学到了什么 147
6.2.7 第一天自习 147
6.3 第二天:改变结构 148
6.3.1 控制结构 148
6.3.2 匿名函数 150
6.3.3 列表和高阶函数 150
6.3.4 列表的一些高级概念 153
6.3.5 第二天我们学到了什么 156
6.3.6 第二天自习 157
6.4 第三天: 红药丸 157
6.4.1 基本并发原语 157
6.4.2 同步消息 160
6.4.3 链接进程以获得可靠性 162
6.4.4 第三天我们学到了什么 167
6.4.5 第三天自习 167
6.5 趁热打铁 167
6.5.1 核心优势 168
6.5.2 不足之处 169
6.5.3 最后思考 169
第7章 Clojure 170
7.1 Clojure入门 170
7.1.1 一切皆Lisp 170
7.1.2 JVM 171
7.1.3 为并发更新 171
7.2 第一天:训练Luke 172
7.2.1 调用基本函数 172
7.2.2 字符串和字符 174
7.2.3 布尔值和表达式 175
7.2.4 列表、映射表、集合以及
向量 176
7.2.5 定义函数 179
7.2.6 绑定 180
7.2.7 匿名函数 182
7.2.8 Rich Hickey访谈录 183
7.2.9 第一天我们学到了什么 184
7.2.10 第一天自习 185
7.3 第二天:Yoda与原力 185
7.3.1 用loop和recur递归 185
7.3.2 序列 186
7.3.3 延迟计算 189
7.3.4 defrecord和protocol 191
7.3.5 宏 193
7.3.6 第二天我们学到了什么 194
7.3.7 第二天自习 195
7.4 第三天:一瞥魔鬼 195
7.4.1 引用和事务内存 196
7.4.2 使用原子 197
7.4.3 使用代理 198
7.4.4 future 200
7.4.5 还差什么 200
7.4.6 第三天我们学到了什么 201
7.4.7 第三天自习 201
7.5 趁热打铁 201
7.5.1 Lisp悖论 202
7.5.2 核心优势 202
7.5.3 不足之处 203
7.5.4 最后思考 204
第8章 Haskell 205
8.1 Haskell简介 205
8.2 第一天:逻辑 206
8.2.1 表达式和基本类型 206
8.2.2 函数 208
8.2.3 元组和列表 211
8.2.4 生成列表 214
8.2.5 Philip Wadler访谈录 217
8.2.6 第一天我们学到了什么 218
8.2.7 第一天自习 218
8.3 第二天:Spock的超凡力量 218
8.3.1 高阶函数 219
8.3.2 偏应用函数和柯里化 220
8.3.3 惰性求值 221
8.3.4 Simon Peyton-Jones访谈录 223
8.3.5 第二天我们学到了什么 224
8.3.6 第二天自习 225
8.4 第三天:心灵融合 226
8.4.1 类与类型 226
8.4.2 monad 231
8.4.3 第三天我们学到了什么 236
8.4.4 第三天自习 237
8.5 趁热打铁 237
8.5.1 核心优势 237
8.5.2 不足之处 238
8.5.3 最后思考 239
第9章 落幕时分 240
9.1 编程模型 240
9.1.1 面向对象(Ruby、Scala) 241
9.1.2 原型编程(Io) 241
9.1.3 约束-逻辑编程(Prolog) 241
9.1.4 函数式编程(Scala、Erlang、
Clojure、Haskell) 241
9.1.5 范型演进之路 242
9.2 并发 242
9.2.1 控制可变状态 243
9.2.2 Io、Erlang和Scala中的actor 243
9.2.3 future 243
9.2.4 事务型内存 243
9.3 编程结构 244
9.3.1 列表解析 244
9.3.2 monad 244
9.3.3 匹配 245
9.3.4 合一 246
9.4 发现自己的旋律 246
附录 参考书目 247

内容概要

作者简介:
Bruce A. Tate RapidRed公司总裁,该公司主要为Ruby轻量级开发提供咨询。他曾任职于IBM公司,并担任过多家公司的客户解决方案总监和CTO。著作有十余本,包括荣获Jolt大奖的Better, Faster, Lighter Java。
译者简介:
戴玮 80后宅男,中科院自动化所在读博士,热爱机器学习与计算机视觉。编程喜C#、Ruby、Haskell而厌Java。
白明 Neusoft某开发部技术总监,拥有多年电信级软件开发经验;资深C程序员,对Common Lisp、Python等小众语言也有涉猎;对开源软件有着浓厚的兴趣,曾先后贡献了lcut、cbehave等多个工具框架;喜好写博客http://bigwhite.blogbus.com),耕耘七年,仍孜孜不倦。
巨成 万方数据数字出版事业部架构师,.NET开发人员。


 七周七语言下载 更多精彩书评



发布书评

 
 


精彩书评 (总计17条)

  •     从众多语言中,挑出本书包含的几门语言,这一过程也许不像你想得那么复杂。我们只不过发了些调查问卷,向本书的潜在读者请教了一番。调查数据汇总上来时,有八门语言入选希望最大。不过,我先是把JavaScript“踢”了出去,因为它实在是过于热门了,取而代之的是原型语言中热门程度仅次于JavaScript的Io。随后,我又把Python“踢”了出去,因为我只想给面向对象语言一个名额,而Ruby的票数多于Python。同时,这也给一个出人意料的候选者让出了位置——名单上位列前十的Prolog。下面,我给出成功入围本书的最终名单和挑选它们的理由Ruby。这门面向对象语言高票当选,因为它不仅好用,而且好读。我曾经考虑过不介绍任何一门面向对象语言,但我又想在其他编程范型与面向对象编程之间作一些比较,因此,至少介绍一门面向对象语言还是有必要的。相比于大多数程序员的日常用法,我想把它挖掘得更深入一些,以揭示设计者的良苦用心。我最终决定重点介绍Ruby元编程(metaprogramming),因为它可以扩展Ruby的语法。对于Ruby榜上有名的结果,我还是相当认可的。Io。和Prolog一样,Io也是本书颇具争议的语言。它虽与商业成功无缘,但其兼具简单性和语法一致性的并发结构,却是十分重要的思想。它的最简语法(minimal syntax)功能强大,与Lisp的相似性也颇能给人留下几分印象。Io不仅和JavaScript一样同为原型语言,还有着独一无二、韵味无穷的消息分发机制,因此在众多编程语言之中,它也占有小小的一席之地。Prolog。没错,我知道Prolog年事已高,但它仍然力大无穷。它能轻松解出数独问题,这不禁让我大开眼界。而且用Java或C语言时,有些难题我殚精竭虑方能解决,用它却能干净利落地搞定。承蒙Erlang的发明者Joe Armstrong出手相助,我得以深刻体会到Prolog之妙。同时,也正是深受Prolog影响,Erlang才得以问世。如果你此前从未用过Prolog,我保证,它定会带给你惊喜。Scala。作为运行于Java虚拟机上的新一代语言,Scala为Java系统引入了强大的函数式思想,而且也并未丢弃面向对象编程。回顾历史,我发现C++和它有着惊人的相似之处,因为从过程式编程过渡到面向对象编程期间,C++同样起到了举足轻重的作用。当你真正融入Scala社区之后,你就会明白,为什么对于函数式语言程序员来说,Scala是异端邪说,而对于Java开发者来说,Scala是天降福音。Erlang。作为名单上历史最悠久的语言之一,Erlang不仅是一门函数式语言,而且在并发、分布式编程、容错等诸多方面都有着优异表现,真是想不火都难。CouchDB(新兴的基于云的数据库)的创始人就选择了Erlang,并且义无反顾地一直用它,只要花上点时间了解这门分布式语言,你就会明白原因所在。在Erlang帮助下,设计带有并发、分布式、容错等特征的应用程序将变得无比简单。Clojure。这又是一门Java虚拟机语言,但正是这门Lisp方言,彻底颠覆了我们在Java虚拟机上并发编程的思考方式。它是本书唯一在版本数据库中使用同一种策略管理并发的语言。作为Lisp方言,Clojure或许拥有本书所有语言中最灵活的编程模型,因此绝不缺乏号召力。与其他Lisp方言不同的是,它不会带那么多括号 ,还有众多Java库和在各平台上的广泛部署作为坚强后盾。Haskell。它是本书唯一的纯函数式语言,这也意味着,它根本不存在可变状态:只要使用相同的输入参数调用相同的函数,就会返回相同的输出。在所有强类型语言中,Haskell拥有最令人称羡的类型模型。和Prolog一样,它也需要你花一些时间理解,但你得到的回报绝对物超所值。如果名单上没有你钟爱的语言,我深感抱歉。老实说,还真有语言狂热分子给我发过好几封恐吓信。在本节开始提到的民意调查中,我们总共列出了几十门语言。我挑的这几门语言未必是其中最出色的,但它们特点突出、个性鲜明,都具有重要的学习价值。
  •     本来是在准备一个讲义的时候,拿过来参考Erlang和Haskell里面的语法和内容的,结果越看越兴奋,看完以后,激动的久久不能入睡。前面有一位书友说是这本书点子不错,缺乏洞见,看到这位书友本身对于这几门语言已经比较熟悉了,所以提出各门语言的特征讲得不深入。但我个人而言,由于以前除了ruby和lisp以外,都没有接触过,初读之下,在除去语法的外衣以后,接触到的“那些真正重要内容的部分”,有一种很多年前初学编程的那种兴奋,原来除了平常习惯使用的各中螺丝刀、板手以后,还有这样一些稀奇古怪的小工具,可以用在很多奇怪的地方。关于书的内容,作者在第一章里面超越语法、不是安装指南、不是编程参考在这三点,至少后两点做很好,个人觉得第一点也蛮好,至少先有介绍才后有超越。最后简单介绍一下书中最让我兴奋的地方,学习编程十多年来,接触过的语言很多,虽然没有某个神贴里面lz说得精通30种语言。但是对于从机器语言、汇编语言、C语言、批处理语言、面向对象语言、脚本语言,这些类语言都有一定的了解。这本书虽然介绍了四种编程模型:面向对象、原型编程、约束-逻辑编程、函数式编程,其中大头是函数式编程(从Ruby的涉及到Scala、Erlang、Clojure,最后到纯粹的Haskell),里面大量提到了列表和高阶函数上的有趣玩意。实际我们回过头看这些语言的发展,实际上从脱离了汇编语言进入自然语言算起,整个语言发展历史就走向了两个大块,一种是以命令和操作直到发展到面向对象构建的一整套关于程序设计的方法论,至今在TOIBE上在前十名中占据主要席位的C、C++、Java、Object-C、C#,另外也是从六七十年代开始的一种学院派的语言路线,以体现数据函数思想以特点,从Lisp、Prolog等,到后来出现的混搭python、ruby,强调一切都是函数,无副作用性。至少从目前应用来看,是属于小众语言(python和ruby的流行不是由于其中的函数式部分)。其实就编程的思想美好性来说,后一派更简洁、更优雅、更漂亮大方,对于同样的问题,有更丰富的表达方式,通过语言更短小精悍,简言之,更阳春白雪。但是,正如美好的艺术一样,确实不容易理解!也就导致同样经过几十年的发展,只能是在一个小的圈子里面有些应用。正如一个老师上课是时候曾经讲过的一样,这个思想如果进一步发展到Z语言所描述的情况的话,估计人类的编程史会发生巨大的变化。个人观点,就语言而言,没有好坏,没有对错,只是工具。就这本书而言,介绍了一些很漂亮的编程思想,在这里,向无数前辈们为了探索编程(每个少年年轻时都经历过的梦幻传奇)而贡献的人类无差别的美好思想再次致敬!
  •     “与其说这是项目组,不如说是以机械化方式生产软件的工厂。那时的我,就好比某个酷爱电影的家伙,却居住于偏远小镇,镇上只有一家影院,放的还都是些所谓的‘大片’。直到我自立门户,开始自己生产软件时,我才真正领略到独立电影之妙。就像独立电影不断推动电影业发展那样,这些新兴的编程语言也在改变我们的组织以及编写程序的思维方式。”“其实,拍电影的乐趣就在于把自己的经历和体验融入到演员、场地、外景之中,让它们来讲述你想要讲述的故事。你所做的一切都是为了取悦观众。你知道的越多,拍出来的电影也就越精彩。我们需要以同样方式思考编程。” 豆列:http://movie.douban.com/doulist/1574646/《追忆似水年华》/ Le temps retrouvé, d'après l'oeuvre de Marcel Prousthttp://movie.douban.com/subject/1301670/“今后我们招募的程序员,一定得通读过《追忆似水年华》。——选自未完成的《How Proust Can Make You a Better Programmer》”《欢乐满人间》/ Mary Poppinshttp://movie.douban.com/subject/1292658/“Mary Poppins从家务中寻找乐趣,以责任感唤起热情,做起家务来自然事半功倍。Ruby所做的也同样如此,但它用的不是食用糖,而是语法糖。”《春天不是读书天》/ Ferris Bueller's Day Offhttp://movie.douban.com/subject/1295437/“但过了两三周之后,我居然像未经世事的少女一般,一想到Io将带我体验怎样的奇妙之旅,就会情不自禁地低声轻笑起来。这就像Ferris在新闻上、在棒球场中、在花车游行时频频曝光—总会在你意想不到的地方出现。说到底,我真真切切地通过Io,体验到了我想要的感觉—用一门语言改变自己思维方式的感觉。”《雨人》/ Rain Manhttp://movie.douban.com/subject/1291870/“《雨人》中我最喜欢的是当Raymond的弟弟意识到Raymond可以算牌的那一幕。Raymond和他的弟弟去了拉斯维加斯并在赌城里面大赚特赚。在一节中,你将看到Prolog让你开心的一面。”《人民法官》/ The People's Courthttp://movie.douban.com/subject/2073880/“和多数自闭症患者一样,Raymond痴迷所有熟悉的失误。他缠着要看Wapner法官和The People's Court。今天,一定有“离Wapner法官开演还有15分钟”的时刻,坐好,我们的工具箱里还需要一些工具,你将学到如何使用递归和列表进行数学运算。”《剪刀手爱德华》/ Edward Scissorhandshttp://movie.douban.com/subject/1292370/“在《剪刀手爱德华》中,山丘上有一座看上去有些不同的城堡。在过去,这个城堡是一个神秘且迷人的地方,不过现在它却显得年代久远且荒废失修。面向对象编程范型同样也显示出了一些衰败的迹象,特别是早期实现的面向对象语言。”《王牌大贱谍》/ Austin Powers: International Man of Mysteryhttp://movie.douban.com/subject/1292493/“如果说可变状态是王牌大贱谍的话,那并发就好比邪恶博士。”《黑客帝国》/ The Matrixhttp://movie.douban.com/subject/1291843/“如今我们所在的整个编程行业,都在大把大把地吞食蓝药丸,就好像来到阿姆斯特丹的牧师之子一样:并发不好用,于是我们就尽量避免它。”《黑客帝国3:矩阵革命》/ The Matrix Revolutionshttp://movie.douban.com/subject/1302467/“也就是说,字符串其实是个列表,这就好像特工Smith冲着你母亲哈哈大笑,哎,真粗鲁,前面的2+2.0这行代码,说明Erlang可以做一些基本类型强制转换。”《星球大战2:帝国反击战》/ Star Wars: Episode V - The Empire Strikes Backhttp://movie.douban.com/subject/1296528/“他总是用倒装语序说话,但却意味高深,就像Lisp的语法不过是一些括号和符号。”《星际旅行:原初 第二季》/ Star Trek:The Original Series Season 2 http://movie.douban.com/subject/6772952/“Spock拥有一种特殊的能力,他可以使用一种被他称为心灵融合(mind meld)的能力与某个人建立连接,Haskell爱好者们经常声称他们与Haskell语言间存在这种连接。对许多人来说,对他们影响力最大的语言特性就是类型系统。”

精彩短评 (总计50条)

  •     快速的带您领略不同的编程语言魅力
  •     想领略一下不同语言的风采,可以拿来看看,品味一下不同的设计思路。但并不适合作为语言的学习指导。而且我认为语言并没有它们的拥趸吹嘘的那么优秀,能否创作出色的软件主要还是看开发者。
  •     这本书翻译还是不错的,主要的目的还是为函数式编程传播福音。想要了解的人不妨读一读,全书比较轻松易懂~
  •     IT民工必读书!!
  •     作者是个专业 Java 黑啊,说什么敲 Java 代码繁重得手指头都敲出血了,看 Java 代码都看到双眼布满血丝了。
  •     开开眼界,尝鼎一脔。
  •     如果都能多了解一些,应该就不会有太多语言之争之类的话题了。
  •     涨姿势
  •     这几个语言选的非常妙,不过讲的就那回事了,跟网上随便找个入门差不多。
  •     想理解javascript? 先看看IO这个轻量语言。
  •     总觉得讲得都不深,可能做完课后作业效果会更好
  •     如果需要一本书,它能带你匆匆浏览几门风格迥异的语言,那这本《七周七语言》是极好的。短短几节,不可能把一门语言代表的核心思想表述得多好,但能带你简单一瞥,打开一些脑洞,改变一些思维方式。这才是最重要的。#人生苦短,世界很大#
  •     写的简单易懂,不仅仅是hello world,多了一点语言特性的核心实践,了解了之前一直想了解的函数式编程模型,也是可以跟人吹逼说自己知道柯里化是啥了。顺便很想吐槽作者就是一个不折不扣Ruby脑残粉嘛
  •     有过其它一些语言的基础,很多章节基本是翻过…但是Prolog确实惊艳了一把。但还是墙裂推荐。
  •     各种编程范式让人打开眼界,大学没有选修编译原理真是太遗憾了。Prolog这门语言最有意思,而smalltalk据说是儿童也能玩的语言,然而我却。。。
  •     最后两章没有看完。这本书可以放着时不时再翻一番。
  •     蜻蜓点水
  •     短小精悍 大开眼界
  •     其实并没有看太懂。
  •     ruby学过。函数式接触过。全书下来给我冲击最大的是Prolog。
  •     读了一部分.. 一小本书确实也就是带看看基本语法和特色
  •     看完这本让我最感兴趣的应该是 Prolog。因为之前对 Lisp, Haskell 这些都有一些了解,所以看这本就没那么多新鲜感了。个人觉得这本讲得太基础了一点,比较无聊,不如看 Matz 的 《代码的未来》。
  •     多语言范式,印象深刻的递归
  •     我并不觉这本书有多好锕。。
  •     浅
  •     为避免七周变成七年,抱着没时间吃猪肉也要抽时间看猪跑的精神把书看完了。。。
  •     七种编程泛型的语言,挺好。正合适有机会多看一下其他的语言。
  •     最有价值的一点是各个语言的编程范式、优势和劣势的说明,但是语法的内容还是过多啊。
  •     满纸荒糖言。 花了好长的时间才看完,期间由于感觉到难度就搁浅了。虽然有不少不懂的地方,但以往学习编程语言的困惑却渐渐明晰。
  •     各种语言之间共通的东西越来越多.流行都是基于妥协.monad和prolog的部分很好玩
  •     从面向对象编程到面向List编程(所以才叫Lisp嘛[List Process])
  •     长见识
  •     对各种编程范式的代表语言有一个了解 印象最深的就是IO 语法简单但能力强大 haskell那章稍微不带劲 monad没有看明白 不过感受到haskell类型系统的强大 后悔读书时没读这本书
  •     更多的注重语言实现,而不是细节
  •     如果只熟悉一两种语言的话,不妨看看这本书,开拓视野,了解不同编程范式。
  •     这本书并不是用来学习的。而且阅读的时候尽量是快速阅读。编程语言是拥有“天赋”的,如何好好认识它的天赋,并利用其天赋,正是这本书的价值所在~~
  •     跳着看了一些,介绍了7门编程语言的编程范型,没有太深入
  •     讲述了多种编程范式,通过七种语言的实例进行说明,可以开拓自己对于编程语言的视野。
  •     入门级的好书。
  •     还是觉得prolog立意最新。但是性能不能控制,以及难以给出次优或部分匹配解不好弄。其它大多都是在玩语法糖。
  •     感觉只是泛泛介绍了一下各语言的特点,并没有太多有深度的东西。
  •     指望通过这本书学会7门语言肯定不可能,不过是大概了解一下书中各种高级语言的特性。如果没有接触过高级语言,通过这本书可以粗略的学习一下各种语言。
  •     不是很推荐这种书,促销时可买
  •     想真正理解语言设计者的思路,就必须有超越基本语法的觉悟。在简单性和安全性之间、编码效率和程序性能之间所做的哪些让步和折中Haskell。它是本书唯一的纯函数式语言,这也意味着,它根本不存在可变状态:只要使用相同的输入参数,去调用相同的函数,就会返回相同的输出。在所有强类型语言中Haskell拥有最令人称羡的类型模型;面向对象,意味着Ruby支持封装(把数据和行为一起打包)、类继承(用一棵类树来组织对象类型)、多态(对象可表现为多种形式)等特性。编程语言的根本机制只有两种就是C代表的有限状态机和lisp代表的形势变换。所有语言都在这两者之间进行折衷。
  •     天赋太低了,七周七语言根本做不到,只能了解一下
  •     少数让人深切感受到编程乐趣的书籍
  •     内容比我想象得浅多了,适合没事的时候翻翻
  •     这书感觉有点像韦小宝拉着他七个漂亮老婆给你一个个点评一样好玩,可惜我还要写蛋疼的60页的毕设日志,好想一口气看完....七周这系列都mark一下
  •     必须给满分的佳作。避免被细节埋没,高屋建瓴。
  •     Quick Ruby
 

农业基础科学,时尚,美术/书法,绘画,软件工程/开发项目管理,研究生/本专科,爱情/情感,动漫学堂PDF下载,。 PDF下载网 

PDF下载网 @ 2024