松本行弘的程序世界 封面

松本行弘的程序世界

暂无评分
章节数
14
丛书
图灵程序设计丛书
ISBN
9787115255075

标签

内容简介

《松本行弘的程序世界》是Ruby语言发明者、被读者称作“Matz”的松本行弘撰写的一部程序设计思想著作,中文版由柳德燕、李黎明等翻译,2011年由人民邮电出版社作为“图灵程序设计丛书”之一出版。 本书并非Ruby语法手册,也不专门讲解某一门技术的操作细节,而是从“程序是什么、语言为什么这样设计”这一宏观视角出发,讨论编程世界的各个构成要素及其相互关系。全书以Ruby、Lisp、Smalltalk等动态语言的示例与图表为支撑,依次涉及面向对象、数据抽象与继承、多重继承与Mix-in、Duck Typing、元编程与反射、代码块与闭包、集合与迭代、设计模式、Ajax与JavaScript、Ruby on Rails、字符编码、正则表达式、整数与浮点数、程序高速化与并行、安全性、时间处理、数据持久化、函数式编程、垃圾回收以及用C语言扩展Ruby等主题。 书中第2章至第14章的内容源自作者2005年5月至2009年4月在《日经Linux》杂志连载的“松本编程模式讲坛”专栏,结集时经过修订,修正了明显错误与过时之处,并让每章尽可能独立成篇。作者在开篇以“我为什么开发Ruby”回顾语言设计的动机,提出简洁性、扩展性、稳定性三条原则,并借语言影响思维的视角,说明程序员为何值得花时间理解语言与范式背后的取舍。

编辑推荐

这本书的作者是Ruby之父松本行弘,读者更熟悉的名字是Matz。它值得读的地方,不在于教你写Ruby,而在于示范一种“向上看”的读法:从具体的语言现象里,反推出设计者的取舍。 全书由专栏连载修订而来,一章一题,彼此相对独立,可以从最感兴趣的章节切入。喜欢语言机理的,可以直接去读Duck Typing与元编程;被Rails“魔法”困扰的,可以从开放类和Monkey Patching那一章入手;做后端与安全的,正则表达式、字符编码、并行化、安全性四章会提供一套实用的排查地图。 写法上较少学院派的包袱:作者会坦率说明Ruby为何这样设计、多重继承为何被Mix-in取代、静态类型与动态类型各自付出什么代价。这种“把选择讲成选择”的叙述方式,对刚摆脱语法阶段、开始关心架构的中级开发者尤其有用。全书篇幅不薄(近400页),夹杂示例代码,适合慢读而非通读。

适合谁读

适合

  • 已掌握一门语言、想理解语言设计取舍的程序员
  • Ruby与Rails 使用者,希望弄清框架背后机制的读者
  • 对面向对象、元编程、函数式范式感兴趣的技术人员
  • 有一定编程基础、喜欢从宏观视角看待技术的编程爱好者

不适合

  • 完全零基础、尚未写过任何程序的入门者
  • 急需某门语言的语法速查或项目上手手册的读者
  • 只想要最新技术栈实操、不接受示例以Ruby为主的人

阅读建议

  1. 不必从头读到尾,先按目录挑一两个当下最困惑的主题切入。
  2. 每章配有代码示例,建议边读边用Ruby或 irb 动手验证一遍。
  3. 把第2章面向对象与第4章设计模式连起来读,能看清范式与模式的脉络。
  4. 对过时的技术细节保持宽容,重点体会作者的判断方式而非结论本身。

出版社简介

人民邮电出版社 中国 · 成立于 1953 年

人民邮电出版社以科技、计算机与信息通信类图书见长,并由此延伸至摄影、艺术、软件学习与励志成长等门类,形成较为多元的出版方向。库内图书既涵盖《重构与模式(修订版)》《华为交换机学习指南(第二版)》等计算机与通信技术读物,也收录《小王子(中英法彩绘典藏纪念版)》《了不起的盖茨比》《假如给我三天光明》等双语典藏类作品;《北京十年:1980-1990》与《鬼刀 WLOP个人插画作品集》则体现其在摄影与艺术领域的布局。作者资源包括安东尼·圣埃克苏佩里、海伦·凯勒、Joshua Kerievsky、王达、张兆增与WLOP等。

目录

  1. 第1章 我为什么开发Ruby:编程语言的重要性、Ruby的三条原则
  2. 第2章 面向对象:编程与面向对象的关系、数据抽象与继承、多重继承的缺点、两个误解、Duck Typing诞生之前、元编程
  3. 第3章 程序块:程序块的威力、用块作循环、精通集合的使用
  4. 第4章 设计模式:Singleton、Proxy、Iterator、Prototype、Template Method、Observer、Strategy与开放-封闭原则
  5. 第5章 Ajax:Ajax和JavaScript(前篇、后篇)
  6. 第6章 Ruby on Rails:MVC与Ruby on Rails、开放类与Monkey Patching
  7. 第7章 字符编码:编码的种类、程序处理字符串的方式
  8. 第8章 正则表达式:基础、应用示例与“鬼车”引擎
  9. 第9章 整数与浮点数:整数世界、浮点数的谜团
  10. 第10章 程序的高速化与并行化:高速化的两种思路、并行程序设计、Actor
  11. 第11章 程序的安全性:程序的弱点与攻击手法、用异常处理错误
  12. 第12章 处理时间的程序:时刻与时间的处理
  13. 第13章 数据的存续:数据存续的方法、对象持久化、关于XML的考察
  14. 第14章 函数式编程及其他:函数式编程、生成代码、内存管理与垃圾回收、用C语言扩展Ruby、为何开源

常见问题

这本书是教Ruby语法的入门书吗?
不是。它讨论的是程序设计思想与语言设计理念,示例以Ruby、Lisp、Smalltalk等动态语言为主,但重点在于解释原理与取舍,而不是逐条讲解语法。已有一点编程基础再去读,收获最大。
这本书和《松本行弘的程序世界》日文连载有什么关系?
第2章至第14章源自作者2005年5月至2009年4月在《日经Linux》杂志连载的“松本编程模式讲坛”专栏,结集出版时经过编辑修订,修正了明显错误与过时内容,并尽量使每章独立完整。
需要买同作者的《松本行弘談程式世界的未來》吗?
那是另一本书,内容涉及语言新潮流、云端与大数据、多核时代的编程等更晚的主题。两书主题互补,但并不重复,不必因为书名相似而混淆。
书里的技术内容会不会已经过时?
成书于2011年,具体框架与工具信息确有年代感;但面向对象、元编程、动态类型、编码、正则、并发等基本概念与分析思路仍然有效,宜当作理解技术的参照系来读。

读者评论

查询本书

本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。

同一作者

同类高分