豆瓣阅读

    代码的未来

    阅读
    ¥40.00
    • 导言
    • 目录
    • 作品信息

    代码的未来》是Ruby之父松本行弘的又一力作。作者对云计算、大数据时代下的各种编程语言以及相关技术进行了剖析,并对编程语言的未来发展趋势做出预测,内容涉及Go、VoltDB、node.js、CoffeeScript、Dart、MongoDB、摩尔定律、编程语言、多核、NoSQL等当今备受关注的话题。

    《代码的未来》面向各层次程序设计人员和编程爱好者,也可供相关技术人员参考。

    松本行弘(Yukihiro Matsumoto)

    Ruby语言发明者,亦是亚洲首屈一指的编程语言发明者。现兼任网络应用通信研究所(NaCl)研究员、乐天技术研究所研究员、Heroku首席架构师等。昵称“Matz”。讨厌东京,喜欢温泉。

    1. 译者序
    2. 中文版序
    3. 前言
    4. 第 1 章 编程的时间和空间
    5. 1.1 编程的本质
    6. 编程的本质是思考
    7. 创造世界的乐趣
    8. 快速提高的性能改变了社会
    9. 以不变应万变
    10. 摩尔定律的局限
    11. 社会变化与编程
    12. 1.2 未来预测
    13. 科学的未来预测
    14. IT 未来预测
    15. 极限未来预测
    16. 从价格看未来
    17. 从性能看未来
    18. 从容量看未来
    19. 从带宽看未来
    20. 小结
    21. 第 2 章 编程语言的过去、现在和未来
    22. 2.1 编程语言的世界
    23. 被历史埋没的先驱
    24. 编程语言的历史
    25. 数学性语言
    26. 编程语言的进化方向
    27. 未来的编程语言
    28. 20 年后的编程语言
    29. 学生们的想象
    30. 2.2 DSL(特定领域语言)
    31. 外部 DSL
    32. 内部 DSL
    33. DSL 的优势
    34. DSL 的定义
    35. 适合内部 DSL 的语言
    36. 外部 DSL 实例
    37. DSL 设计的构成要素
    38. Sinatra
    39. 小结
    40. 2.3 元编程
    41. Meta, Reflection
    42. 类对象
    43. 类的操作
    44. Lisp
    45. 数据和程序
    46. Lisp 程序
    47. 宏的功与过
    48. 元编程的可能性与危险性
    49. 小结
    50. 2.4 内存管理
    51. 看似无限的内存
    52. GC 的三种基本方式
    53. 术语定义
    54. 标记清除方式
    55. 复制收集方式
    56. 引用计数方式
    57. 引用计数方式的缺点
    58. 进一步改良的应用方式
    59. 分代回收
    60. 对来自老生代的引用进行记录
    61. 增量回收
    62. 并行回收
    63. GC 大统一理论
    64. 2.5 异常处理
    65. “一定没问题的”
    66. 用特殊返回值表示错误
    67. 容易忽略错误处理
    68. Ruby 中的异常处理
    69. 产生异常
    70. 更高级的异常处理
    71. Ruby 中的后处理保证
    72. 其他语言中的异常处理
    73. Java 的检查型异常
    74. Icon 的异常和真假值
    75. Eiffel 的 Design by Contract
    76. 异常与错误值
    77. 小结
    78. 2.6 闭包
    79. 函数对象
    80. 高阶函数
    81. 用函数参数提高通用性
    82. 函数指针的局限
    83. 作用域:变量可见范围
    84. 生存周期:变量的存在范围
    85. 闭包与面向对象
    86. Ruby 的函数对象
    87. Ruby 与 JavaScript 的区别
    88. Lisp-1 与 Lisp-2
    89. 第 3 章 编程语言的新潮流
    90. 3.1 语言的设计
    91. 客户端与服务器端
    92. 向服务器端华丽转身
    93. 在服务器端获得成功的四大理由
    94. 客户端的 JavaScript
    95. 性能显著提升
    96. 服务器端的 Ruby
    97. Ruby on Rails 带来的飞跃
    98. 服务器端的 Go
    99. 静态与动态
    100. 动态运行模式
    101. 何谓类型
    102. 静态类型的优点
    103. 动态类型的优点
    104. 有鸭子样的就是鸭子
    105. Structural Subtyping
    106. 小结
    107. 3.2 Go
    108. New(新的)
    109. Experimental(实验性的)
    110. Concurrent(并发的)
    111. Garbage-collected(带垃圾回收的)
    112. Systems(系统)
    113. Go 的创造者们
    114. Hello World
    115. Go 的控制结构
    116. 类型声明
    117. 无继承式面向对象
    118. 多值与多重赋值
    119. 并发编程
    120. 小结
    121. 3.3 Dart
    122. 为什么要推出 Dart ?
    123. Dart 的设计目标
    124. 代码示例
    125. Dart 的特征
    126. 基于类的对象系统
    127. 非强制性静态类型
    128. Dart 的未来
    129. 3.4 CoffeeScript
    130. 最普及的语言
    131. 被误解最多的语言
    132. 显著高速化的语言
    133. 对 JavaScript 的不满
    134. CoffeeScript
    135. 安装方法
    136. 声明和作用域
    137. 分号和代码块
    138. 省略记法
    139. 字符串
    140. 数组和循环
    141. 小结
    142. 3.5 Lua
    143. 示例程序
    144. 数据类型
    145. 函数
    146. 元表
    147. 方法调用的实现
    148. 基于原型编程
    149. 和 Ruby 的比较(语言篇)
    150. 嵌入式语言 Lua
    151. 和 Ruby 的比较(实现篇)
    152. 嵌入式 Ruby
    153. 第 4 章 云计算时代的编程
    154. 4.1 可扩展性
    155. 信息的尺度感
    156. 大量数据的查找
    157. 二分法查找
    158. 散列表
    159. 布隆过滤器
    160. 一台计算机的极限
    161. DHT(分布式散列表)
    162. Roma
    163. MapReduce
    164. 小结
    165. 4.2 C10K 问题
    166. 何为 C10K 问题
    167. C10K 问题所引发的“想当然”
    168. 使用 epoll 功能
    169. 使用 libev 框架
    170. 使用 EventMachine
    171. 小结
    172. 4.3 HashFold
    173. HashFold 库的实现(Level 1)
    174. 运用多核的必要性
    175. 目前的 Ruby 实现所存在的问题
    176. 通过进程来实现 HashFold(Level 2)
    177. 抖动
    178. 运用进程池的 HashFold(Level 3)
    179. 小结
    180. 4.4 进程间通信
    181. 进程与线程
    182. 同一台计算机上的进程间通信
    183. TCP/IP 协议
    184. 用 C 语言进行套接字编程
    185. 用 Ruby 进行套接字编程
    186. Ruby 的套接字功能
    187. 用 Ruby 实现网络服务器
    188. 小结
    189. 4.5 Rack 与 Unicorn
    190. Rack 中间件
    191. 应用程序服务器的问题
    192. Unicorn 的架构
    193. Unicorn 的解决方案
    194. 性能
    195. 策略
    196. 小结
    197. 第 5 章 支撑大数据的数据存储技术
    198. 5.1 键 - 值存储
    199. Hash 类
    200. DBM 类
    201. 数据库的 ACID 特性
    202. CAP 原理
    203. CAP 解决方案——BASE
    204. 不能舍弃可用性
    205. 大规模环境下的键 - 值存储
    206. 访问键 - 值存储
    207. 键 - 值存储的节点处理
    208. 存储器
    209. 写入和读取
    210. 节点追加
    211. 故障应对
    212. 终止处理
    213. 其他机制
    214. 性能与应用实例
    215. 小结
    216. 5.2 NoSQL
    217. RDB 的极限
    218. NoSQL 数据库的解决方案
    219. 形形色色的 NoSQL 数据库
    220. 面向文档数据库
    221. MongoDB 的安装
    222. 启动数据库服务器
    223. MongoDB 的数据库结构
    224. 数据的插入和查询
    225. 用 JavaScript 进行查询
    226. 高级查询
    227. 数据的更新和删除
    228. 乐观并发控制
    229. 5.3 用 Ruby 来操作 MongoDB
    230. 使用 Ruby 驱动
    231. 对数据库进行操作
    232. 数据的插入
    233. 数据的查询
    234. 高级查询
    235. find 方法的选项
    236. 原子操作
    237. ActiveRecord
    238. OD Mapper
    239. 5.4 SQL 数据库的反击
    240. “云”的定义
    241. SQL 数据库的极限
    242. 存储引擎 Spider
    243. SQL 数据库之父的反驳
    244. SQL 数据库 VoltDB
    245. VoltDB 的架构
    246. VoltDB 中的编程
    247. Hello VoltDB!
    248. 性能测试
    249. 小结
    250. 5.5 memcached 和它的伙伴们
    251. 用于高速访问的缓存
    252. memcached
    253. 示例程序
    254. 对 memcached 的不满
    255. memcached 替代服务器
    256. 另一种键 - 值存储 Redis
    257. Redis 的数据类型
    258. Redis 的命令与示例
    259. 小结
    260. 第 6 章 多核时代的编程
    261. 6.1 摩尔定律
    262. 呈几何级数增长
    263. 摩尔定律的内涵
    264. 摩尔定律的结果
    265. 摩尔定律所带来的可能性
    266. 为了提高性能
    267. 摩尔定律的极限
    268. 超越极限
    269. 不再有免费的午餐
    270. 6.2 UNIX 管道
    271. 管道编程
    272. 多核时代的管道
    273. xargs——另一种运用核心的方式
    274. 注意瓶颈
    275. 阿姆达尔定律
    276. 多核编译
    277. ccache
    278. distcc
    279. 编译性能测试
    280. 小结
    281. 6.3 非阻塞 I / O
    282. 何为非阻塞 I/O
    283. 使用 read(2) 的方法
    284. 边沿触发与电平触发
    285. 使用 read(2) + select 的方法
    286. 使用 read+O_NONBLOCK 标志
    287. Ruby 的非阻塞 I/O
    288. 使用 aio_read 的方法
    289. 6.4 node.js
    290. 减负
    291. 拖延
    292. 委派
    293. 非阻塞编程
    294. node.js 框架
    295. 事件驱动编程
    296. 事件循环的利弊
    297. node.js 编程
    298. node.js 网络编程
    299. node.js 回调风格
    300. node.js 的优越性
    301. EventMachine 与 Rev
    302. 6.5 ZeroMQ
    303. 多 CPU 的必要性
    304. 阿姆达尔定律
    305. 多 CPU 的运用方法
    306. 进程间通信
    307. 管道
    308. SysV IPC
    309. 套接字
    310. UNIX 套接字
    311. ZeroMQ
    312. ZeroMQ 的安装
    313. ZeroMQ 示例程序
    314. 小结

    作者〔日〕松本行弘

    译者周自恒

    类别 图书 / 非虚构

    出版社人民邮电出版社

    出版日期

    ISBN9787115317513

    提供方图灵社区

    标签计算机(1328)编程(353)软件开发(76)图灵程序设计丛书(3)松本行弘(2)代码(36)

    喜欢这本书的人也喜欢

    来自豆瓣读书的评论25