The Future of Code cover

The Future of Code

Rating 3.9
Word count
302K words
Chapters
38
Series
Turing Programming Series
ISBN
9787115317513

Tags

Summary

The Future of Code is a collection of technical essays by Yukihiro Matsumoto, the inventor of the Ruby language, translated by Zhou Ziheng and published by Posts & Telecom Press in 2013 as part of the Turing Programming Series. Unlike the author's earlier book, The Programming World of Yukihiro Matsumoto, which ranges widely but is relatively scattered, this book unfolds around a clear theme: starting from the history of computers and programming languages, it reflects on the inner laws of technological evolution in the era of cloud computing, big data, and multicore processors, and offers its own judgments about future directions. The book has six chapters. The opening discusses the nature of programming and technological prediction on a time scale; it then reviews the evolution of programming languages, touching on fundamental mechanisms such as DSLs, metaprogramming, memory management, exception handling, and closures. Chapter Three focuses on the new language trends of the time, analyzing one by one the design orientations of emerging languages such as Go, Dart, CoffeeScript, and Lua, and asking whether they can replace C and JavaScript. Chapter Four turns to programming practice in the cloud computing era, discussing scalability, the C10K problem, interprocess communication, and topics such as Rack and Unicorn. Chapter Five introduces data storage technologies supporting big data, including key-value stores, NoSQL, using Ruby to operate MongoDB, the counterattack of SQL databases, and memcached. Chapter Six returns to the multicore era, moving from Moore's law and UNIX pipes to non-blocking I/O, and extending to node.js and ZeroMQ. The author connects these seemingly disparate technical points with the eye of a language designer; his core view is that programming languages will continue to evolve along the path of increasing abstraction, and that parallel processing and resource efficiency will become ever more important. Many of the book's specific judgments bear the imprint of the period around 2013, and some predictions have been corrected by reality, but as a work for understanding that wave of technological change and the thinking behind language design, it still has reference value.

Editor's review

读技术书最怕两件事:一是只讲具体工具,过两年就全部作废;二是空谈大势,看完什么也没留下。《代码的未来》难得地避开了这两个坑。松本行弘不是评论家,而是亲手造出一门主流语言的实践者,他谈语言设计、内存管理和并发模型时,说的是自己在设计取舍中踩过的坑、做过的判断,因此那些“趋势”并非二手转述,而是从工程内部生长出来的。本书的写法也很有特色:每一章都从历史讲起,先说清问题是怎么来的,再说现在有哪些解法,最后才讨论未来会往哪走,读者能顺着这条线索建立自己的技术判断力。当然需要说明,本书成书于2013年,书中讨论的Go、Dart、CoffeeScript、node.js、MongoDB,如今境遇各不相同,有些预测已被证明过于乐观。这恰恰是本书的另一重价值:它是一份珍贵的技术时代切片,可以用来对照现实,看看一位顶级语言设计者当年如何看待世界、又错在哪里。对于想理解“技术判断是如何形成的”而不只是“某个框架怎么用”的读者,这种对照阅读的收获甚至超过结论本身。

Who it's for

A good fit for

  • 已掌握一门编程语言、想拓宽技术视野的中级开发者
  • 对编程语言设计与实现原理感兴趣的读者
  • 需要做技术选型与架构判断的工程师和技术负责人
  • 喜欢读技术随笔而非工具手册的程序员

Not a good fit for

  • 零基础、尚未写过任何代码的入门者
  • 只想找某门语言或框架速查教程的人
  • 期待书中预言在当下全部成立的读者

Reading tips

  1. 建议按章节顺序阅读:前两章的语言机制基础是理解后面云计算与并发内容的前提。
  2. 阅读时留意成书年份,对书中的技术预测与现实做对照笔记,这比记住结论更有价值。
  3. 第4至6章涉及具体工具与案例,可结合自己当前项目场景选择性精读。
  4. 若对Ruby不熟悉也不影响阅读,作者讨论的是通用原理,不必先补Ruby。

About the publisher

Posts & Telecom Press China · Founded in 1953

Posts & Telecom Press is known for its strengths in science and technology, computing, and information and communications titles, and has extended its publishing into photography, art, software learning, and inspirational growth, giving it a fairly diverse range. Its catalog includes computing and communications works such as Refactoring and Patterns (Revised Edition) and Huawei Switch Learning Guide (Second Edition), alongside bilingual collector's editions such as The Little Prince (Chinese-English-French illustrated collector's edition), The Great Gatsby, and Three Days to See. Beijing Ten Years: 1980-1990 and Ghost Blade: WLOP Personal Illustration Collection reflect its presence in photography and art. Its authors include Antoine de Saint-Exupéry, Helen Keller, Joshua Kerievsky, Wang Da, Zhang Zhaozeng, and WLOP.

Contents

  1. Copyright Information
  2. Translator's Preface
  3. Preface to the Chinese Edition
  4. Foreword
  5. Chapter 1 The Time and Space of Programming
  6. 1.1 The Nature of Programming
  7. 1.2 Future Prediction
  8. Chapter 2 The Past, Present, and Future of Programming Languages
  9. 2.1 The World of Programming Languages
  10. 2.2 DSLs
  11. 2.3 Metaprogramming
  12. 2.4 Memory Management
  13. 2.5 Exception Handling
  14. 2.6 Closures
  15. Chapter 3 New Trends in Programming Languages
  16. 3.1 Language Design
  17. 3.2 Go
  18. 3.3 Dart
  19. 3.4 CoffeeScript
  20. 3.5 Lua
  21. Chapter 4 Programming in the Cloud Computing Era
  22. 4.1 Scalability
  23. 4.2 The C10K Problem
  24. 4.3 HashFold
  25. 4.4 Interprocess Communication
  26. 4.5 Rack and Unicorn
  27. Chapter 5 Data Storage Technologies Supporting Big Data
  28. 5.1 Key-Value Stores
  29. 5.2 NoSQL
  30. 5.3 Using Ruby to Operate MongoDB
  31. 5.4 The Counterattack of SQL Databases
  32. 5.5 memcached and Its Companions
  33. Chapter 6 Programming in the Multicore Era
  34. 6.1 Moore's Law
  35. 6.2 UNIX Pipes
  36. 6.3 Non-Blocking I/O
  37. 6.4 node.js
  38. 6.5 ZeroMQ

FAQ

这本书和《大教堂与集市》是同一本书吗?
不是。这是两本不同的书:《代码的未来》由松本行弘所著、周自恒翻译,人民邮电出版社2013年出版;《大教堂与集市》是埃里克·雷蒙德关于开源开发模式的著作。书名相近但主题与作者均不同,购买时请核对作者与ISBN。
书中讨论的技术现在是否已经过时?
部分内容确实带有2013年前后的时代印记,书中提到的Dart、CoffeeScript等语言如今的处境与作者当时的预期并不相同。但前两章关于语言设计、内存管理、闭包的讨论相对稳定,后几章更适合当作技术史与判断方法来看。
阅读本书需要先懂Ruby吗?
不需要。作者虽然以Ruby为例讲解部分概念,但全书讨论的是编程语言设计、并发与存储的通用原理,具备任意一门主流语言的编程经验即可顺利阅读。
这本书和《松本行弘的程序世界》有何区别?
《松本行弘的程序世界》话题更广、较为分散;本书则围绕“未来技术走向”这一单一主题展开,从历史脉络切入预测演进方向,结构聚合、主线更清晰。

Comments

Find this book

This site is an index: you start “Search all sources” in your browser, and the entries it lists all point to third-party sites; please judge their availability yourself.

More by the same author

Top rated in the same category