七周七语言:理解多种编程范型

七周七语言:理解多种编程范型
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Bruce A. Tate RapidRed) , , ,
2012-05
版次: 1
ISBN: 9787115276117
定价: 59.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 246页
字数: 390千字
原版书名: Seven Languages in Seven Weeks: A
357人买过
  •   从计算机发展史早期的Cobol、Fortran到后来的C、Java,编程语言的家族不断壮大。除了这些广为人知的语言外,还涌现了Erlang、Ruby等后起之秀,它们虽被喻为小众语言,但因其独特性也吸引了为数不少的追随者。
      Bruce A·Tate是软件行业的一名老兵,他有一个宏伟目标:用一本书的篇幅切中要害地探索七种不同的语言。本书就是他的成果。书中介绍了Ruby、Io、Prolog、Scala、Erlang、Clojure和Haskell这七种语言,关注每一门语言的精髓和特性,重点解决如下问题:这门语言的类型模型是什么,编程范式是什么,如何与其交互,有哪些决策构造和核心数据结构,有哪些独特的核心特性。
      在这个飞速发展的信息时代,程序员仅仅掌握甚至精通一门语言是远远不够的。了解多门语言蕴涵的思维方式,在编码中互相借鉴,再挑出一两门对自己口味的语言深入学习,这些已经成为在软件行业中安身立命之本。从这个意义上说,每个程序员都应该看看这本《七周七语言》。   (美)泰特,Bruce A. Tate RapidRed公司总裁,该公司主要为Ruby轻量级开发提供咨询。他曾任职于IBM公司,并担任过多家公司的客户解决方案总监和CTO。著作有十余本,包括荣获Jolt大奖的Better, Faster, Lighter Java。
      戴玮,80后宅男,中科院自动化所在读博士,热爱机器学习与计算机视觉。编程喜C#、Ruby、Haskell而厌Java。
      白明,Neusoft某开发部技术总监,拥有多年电信级软件开发经验;资深C程序员,对Common Lisp、Python等小众语言也有涉猎;对开源软件有着浓厚的兴趣,曾先后贡献了lcut、cbehave等多个工具框架;喜好写博客,耕耘七年,仍孜孜不倦。
      巨成,万方数据数字出版事业部架构师,.NET开发人员。 目录



    第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章Ruby8

    2.1Ruby简史9

    2.2第一天:找个保姆10

    2.2.1快速起步10

    2.2.2从命令行执行Ruby10

    2.2.3Ruby的编程模型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代码块和yield20

    2.3.5定义类22

    2.3.6编写Mixin25

    2.3.7模块、可枚举和集合26

    2.3.8第二天我们学到了什么27

    2.3.9第二天自习28

    2.4第三天:重大改变28

    2.4.1打开类29

    2.4.2使用method_missing30

    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章Io38

    3.1Io简介38

    3.2第一天:逃学吧,轻松一下39

    3.2.1开场白39

    3.2.2对象、原型和继承40

    3.2.3方法43

    3.2.4列表和映射44

    3.2.5true、false、nil以及单例46

    3.2.6SteveDekorte访谈录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.2Io的method_missing60

    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章Prolog67

    4.1关于Prolog68

    4.2第一天:一名优秀的司机68

    4.2.1基本概况68

    4.2.2基本推论和变量69

    4.2.3填空70

    4.2.4合一,第一部分73

    4.2.5实际应用中的Prolog75

    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章Scala99

    5.1关于Scala99

    5.1.1与Java的密切关系100

    5.1.2没有盲目崇拜100

    5.1.3MartinOdersky访谈录100

    5.1.4函数式编程与并发101

    5.2第一天:山丘上的城堡102

    5.2.1Scala类型102

    5.2.2表达式与条件103

    5.2.3循环105

    5.2.4范围与元组107

    5.2.5Scala中的类109

    5.2.6扩展类111

    5.2.7第一天我们学到了什么113

    5.2.8第一天自习114

    5.3第二天:修剪灌木丛和其他新把戏114

    5.3.1对比var和val115

    5.3.2集合115

    5.3.3集合与函数119

    5.3.4第二天我们都学到了什么124

    5.3.5第二天自习124

    5.4第三天:剪断绒毛125

    5.4.1XML125

    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章Erlang136

    6.1Erlang简介136

    6.1.1为并发量身打造137

    6.1.2JoeArmstrong博士访谈录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章Clojure170

    7.1Clojure入门170

    7.1.1一切皆Lisp170

    7.1.2JVM171

    7.1.3为并发更新171

    7.2第一天:训练Luke172

    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.8RichHickey访谈录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.4defrecord和protocol191

    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.4future200

    7.4.5还差什么200

    7.4.6第三天我们学到了什么201

    7.4.7第三天自习201

    7.5趁热打铁201

    7.5.1Lisp悖论202

    7.5.2核心优势202

    7.5.3不足之处203

    7.5.4最后思考204



    第8章Haskell205

    8.1Haskell简介205

    8.2第一天:逻辑206

    8.2.1表达式和基本类型206

    8.2.2函数208

    8.2.3元组和列表211

    8.2.4生成列表214

    8.2.5PhilipWadler访谈录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.4SimonPeyton-Jones访谈录223

    8.3.5第二天我们学到了什么224

    8.3.6第二天自习225

    8.4第三天:心灵融合226

    8.4.1类与类型226

    8.4.2monad231

    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.2Io、Erlang和Scala中的actor243

    9.2.3future243

    9.2.4事务型内存243

    9.3编程结构244

    9.3.1列表解析244

    9.3.2monad244

    9.3.3匹配245

    9.3.4合一246

    9.4发现自己的旋律246



    附录参考书目247
  • 内容简介:
      从计算机发展史早期的Cobol、Fortran到后来的C、Java,编程语言的家族不断壮大。除了这些广为人知的语言外,还涌现了Erlang、Ruby等后起之秀,它们虽被喻为小众语言,但因其独特性也吸引了为数不少的追随者。
      Bruce A·Tate是软件行业的一名老兵,他有一个宏伟目标:用一本书的篇幅切中要害地探索七种不同的语言。本书就是他的成果。书中介绍了Ruby、Io、Prolog、Scala、Erlang、Clojure和Haskell这七种语言,关注每一门语言的精髓和特性,重点解决如下问题:这门语言的类型模型是什么,编程范式是什么,如何与其交互,有哪些决策构造和核心数据结构,有哪些独特的核心特性。
      在这个飞速发展的信息时代,程序员仅仅掌握甚至精通一门语言是远远不够的。了解多门语言蕴涵的思维方式,在编码中互相借鉴,再挑出一两门对自己口味的语言深入学习,这些已经成为在软件行业中安身立命之本。从这个意义上说,每个程序员都应该看看这本《七周七语言》。
  • 作者简介:
      (美)泰特,Bruce A. Tate RapidRed公司总裁,该公司主要为Ruby轻量级开发提供咨询。他曾任职于IBM公司,并担任过多家公司的客户解决方案总监和CTO。著作有十余本,包括荣获Jolt大奖的Better, Faster, Lighter Java。
      戴玮,80后宅男,中科院自动化所在读博士,热爱机器学习与计算机视觉。编程喜C#、Ruby、Haskell而厌Java。
      白明,Neusoft某开发部技术总监,拥有多年电信级软件开发经验;资深C程序员,对Common Lisp、Python等小众语言也有涉猎;对开源软件有着浓厚的兴趣,曾先后贡献了lcut、cbehave等多个工具框架;喜好写博客,耕耘七年,仍孜孜不倦。
      巨成,万方数据数字出版事业部架构师,.NET开发人员。
  • 目录:
    目录



    第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章Ruby8

    2.1Ruby简史9

    2.2第一天:找个保姆10

    2.2.1快速起步10

    2.2.2从命令行执行Ruby10

    2.2.3Ruby的编程模型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代码块和yield20

    2.3.5定义类22

    2.3.6编写Mixin25

    2.3.7模块、可枚举和集合26

    2.3.8第二天我们学到了什么27

    2.3.9第二天自习28

    2.4第三天:重大改变28

    2.4.1打开类29

    2.4.2使用method_missing30

    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章Io38

    3.1Io简介38

    3.2第一天:逃学吧,轻松一下39

    3.2.1开场白39

    3.2.2对象、原型和继承40

    3.2.3方法43

    3.2.4列表和映射44

    3.2.5true、false、nil以及单例46

    3.2.6SteveDekorte访谈录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.2Io的method_missing60

    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章Prolog67

    4.1关于Prolog68

    4.2第一天:一名优秀的司机68

    4.2.1基本概况68

    4.2.2基本推论和变量69

    4.2.3填空70

    4.2.4合一,第一部分73

    4.2.5实际应用中的Prolog75

    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章Scala99

    5.1关于Scala99

    5.1.1与Java的密切关系100

    5.1.2没有盲目崇拜100

    5.1.3MartinOdersky访谈录100

    5.1.4函数式编程与并发101

    5.2第一天:山丘上的城堡102

    5.2.1Scala类型102

    5.2.2表达式与条件103

    5.2.3循环105

    5.2.4范围与元组107

    5.2.5Scala中的类109

    5.2.6扩展类111

    5.2.7第一天我们学到了什么113

    5.2.8第一天自习114

    5.3第二天:修剪灌木丛和其他新把戏114

    5.3.1对比var和val115

    5.3.2集合115

    5.3.3集合与函数119

    5.3.4第二天我们都学到了什么124

    5.3.5第二天自习124

    5.4第三天:剪断绒毛125

    5.4.1XML125

    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章Erlang136

    6.1Erlang简介136

    6.1.1为并发量身打造137

    6.1.2JoeArmstrong博士访谈录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章Clojure170

    7.1Clojure入门170

    7.1.1一切皆Lisp170

    7.1.2JVM171

    7.1.3为并发更新171

    7.2第一天:训练Luke172

    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.8RichHickey访谈录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.4defrecord和protocol191

    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.4future200

    7.4.5还差什么200

    7.4.6第三天我们学到了什么201

    7.4.7第三天自习201

    7.5趁热打铁201

    7.5.1Lisp悖论202

    7.5.2核心优势202

    7.5.3不足之处203

    7.5.4最后思考204



    第8章Haskell205

    8.1Haskell简介205

    8.2第一天:逻辑206

    8.2.1表达式和基本类型206

    8.2.2函数208

    8.2.3元组和列表211

    8.2.4生成列表214

    8.2.5PhilipWadler访谈录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.4SimonPeyton-Jones访谈录223

    8.3.5第二天我们学到了什么224

    8.3.6第二天自习225

    8.4第三天:心灵融合226

    8.4.1类与类型226

    8.4.2monad231

    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.2Io、Erlang和Scala中的actor243

    9.2.3future243

    9.2.4事务型内存243

    9.3编程结构244

    9.3.1列表解析244

    9.3.2monad244

    9.3.3匹配245

    9.3.4合一246

    9.4发现自己的旋律246



    附录参考书目247
查看详情
其他版本 / 全部 (1)
系列丛书 / 更多
七周七语言:理解多种编程范型
机器学习实战
[美]Peter Harrington 著;李锐、李鹏、曲亚东 译
七周七语言:理解多种编程范型
图灵程序设计丛书:Python基础教程
[挪威]Magnus Lie Hetland 著;司维、曾军崴、谭颖华 译
七周七语言:理解多种编程范型
Python编程:从入门到实践
[美]埃里克·马瑟斯(Eric Matthes) 著;袁国忠 译
七周七语言:理解多种编程范型
JavaScript高级程序设计(第3版)
[美]Nicholas C.Zakas 著;李松峰、曹力 译
七周七语言:理解多种编程范型
R语言实战(第2版)
[美]卡巴科弗(Robert I. Kabacoff) 著;王小宁、刘撷芯、黄俊文 译
七周七语言:理解多种编程范型
算法(第4版)
[美]Robert、[美]Kevin Wayne 著;谢路云 译
七周七语言:理解多种编程范型
大数据:互联网大规模数据挖掘与分布式处理
[美]Anand、[美]Jeffrey David Ullman 著;王斌 译
七周七语言:理解多种编程范型
Spark快速大数据分析
[美]卡劳(Holden Karau)、[美]肯维尼斯科(Andy Konwinski)、[美]温德尔(Patrick Wendell)、[加拿大]扎哈里亚(Matei Zaharia) 著;王道远 译
七周七语言:理解多种编程范型
MySQL必知必会
[英]福塔(Ben Forta) 著;刘晓霞、钟鸣 译
七周七语言:理解多种编程范型
图解HTTP
[日]上野·宣 著;于均良 译
七周七语言:理解多种编程范型
算法图解
袁国忠 译
七周七语言:理解多种编程范型
Spring Boot实战
[美]克雷格·沃斯(Craig Walls) 著;丁雪丰 译
相关图书 / 更多
七周七语言:理解多种编程范型
七周七语言 卷2
[美]Bruce、A.、Tate、泰特、Fred 著;7ML翻组 译
七周七语言:理解多种编程范型
七周七Web开发框架
[美]Jack、Fred Daoud 著;张霄翀、邱俊涛、孙镌宸、顾宇 译
七周七语言:理解多种编程范型
七周遇见对的人
[美]凯瑟琳·伍德沃德·托马斯 著;蒋永强 译
七周七语言:理解多种编程范型
七周七数据库
[美]Eric、Jim R. Wilson 著;王海鹏、田思源、王晨 译
七周七语言:理解多种编程范型
七周七并发模型
[美]Paul Butcher 著;黄炎 译
您可能感兴趣 / 更多
七周七语言:理解多种编程范型
归属感:如何通过社群获得商业竞争优势
[美]大卫·斯平克斯(David Spinks) 著;颉腾文化 出品
七周七语言:理解多种编程范型
《城市的夜晚》2024百班千人暑期书目小学生1年级名师推荐全新正版现货速发
[美]朱莉·唐宁 著;冷玉斌 冷念则 译
七周七语言:理解多种编程范型
雪花的故事(用照片展示雪花的秘密,为你揭开冬日奇景的奥秘)
[美]马克·卡西诺[美]乔恩·尼尔森
七周七语言:理解多种编程范型
进阶书系-国际史的技艺
[美] 马克·特拉亨伯格
七周七语言:理解多种编程范型
杜甫传
[美]弗洛伦斯.艾思柯
七周七语言:理解多种编程范型
神奇的数字零:从数字0开始的极简数学史和人类发展史
[美]查尔斯·塞弗(Charles Seife)著 杨杨立汝 译
七周七语言:理解多种编程范型
爵士乐史(精装本)
[美]泰德·乔亚 著
七周七语言:理解多种编程范型
环境的科学 (平装版)
[美]威廉·坎宁安 后浪
七周七语言:理解多种编程范型
美利坚在燃烧:20世纪60年代以来的警察暴力与黑人反抗
[美]伊丽莎白·欣顿 著 胡位钧 译
七周七语言:理解多种编程范型
数学侦探 游乐园里的古怪笑脸
[美]丹尼尔·肯尼 艾米丽·博艾尔 著 刘玙婧、王婧 译;小博集出品
七周七语言:理解多种编程范型
儒教中国及其现代命运(三部曲)
[美]列文森 作者;[中]季剑青 译者
七周七语言:理解多种编程范型
逃家小兔成长绘本系列
[美]玛格丽特.怀兹.布朗