Programming Clojure cover

Programming Clojure

Rating 3.9
Word count
115K words
Chapters
18
ISBN
9787115308474

Tags

Summary

Clojure is a dynamic programming language based on the Java Virtual Machine. Powerful and versatile, it supports functional programming, simplifies concurrent programming, and can call Java programs—qualities that have won it the favor of countless programmers. This book is a classic work on the Clojure language and programming. The second edition has been comprehensively updated for Clojure 1.3. Across its 10 chapters, the book introduces Clojure's overview and basic features, sequences and functional programming, the concurrency programming model, protocols and datatypes, macros, multimethods, and Clojure's interoperability with Java. It concludes with a complete example that walks readers through the entire Clojure application development process. Suitable for programmers from diverse language backgrounds who want to learn Clojure, it offers functional programmers, Java and C# developers, Lisp programmers, as well as Perl, Python, and Ruby programmers varying degrees of insight and value.

Editor's review

Clojure Programming is a systematic guide to the Clojure language, from入门 to advanced. The authors, Brian Carper and Stuart Halloway, are both seasoned experts in the Clojure community; Stuart Halloway is one of Clojure's core contributors, and his deep experience in functional programming and the JVM platform gives the book a solid foundation of authority. This is not a mere syntax manual: starting from design philosophy, it analyzes in depth the unique value of Clojure as a modern Lisp dialect on the JVM—it deftly combines the purity of functional programming, the reliability of immutable data structures, and the richness of the Java ecosystem. The discussion of concurrency models (especially STM, software transactional memory) is particularly excellent, offering developers elegant and practical paradigms for tackling multithreading challenges. Compared with similar books, this one emphasizes why over merely how, guiding readers to understand the design choices and thought patterns behind the language. For developers with some programming experience (especially Java backgrounds) who want to explore functional programming or seek better concurrency solutions, this book offers a clear learning path and deep technical insight.

Who it's for

A good fit for

  • Developers with a foundation in Java or another object-oriented language who want to learn functional programming
  • Explorers interested in the Lisp family of languages who want to see how they are practiced on the modern JVM platform
  • Software engineers looking for more elegant, reliable solutions to complex concurrency problems
  • Computer science enthusiasts who want to understand programming language design philosophy and paradigm fusion

Not a good fit for

  • Complete beginners with no programming background looking for their first programming language book
  • Users seeking only a quick syntax reference or code snippets

Reading tips

  1. Read the first few chapters first to understand Clojure's basic philosophy and data structures, then practice hands-on
  2. Use the example code in the book and try each one in the REPL (interactive environment) to experience the interactive development style of functional programming
  3. For the concurrency chapters, compare them with concurrency models you already know to understand the essential problems that mechanisms such as STM are meant to solve

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. 版权信息
  2. 内容提要
  3. 致谢
  4. 第1版序
  5. 第2版序
  6. 前言
  7. 第1章 启航
  8. 第2章 探索Clojure
  9. 第3章 一切皆序列
  10. 第4章 函数式编程
  11. 第5章 状态
  12. 第6章 协议和数据类型
  13. 第7章 宏
  14. 第8章 多重方法
  15. 第9章 极尽Java之所能
  16. 第10章 搭建应用
  17. 附录 编辑器
  18. 参考书目

FAQ

How much Java background do I need to learn from this book?
You need to be familiar with basic Java syntax and object-oriented concepts, but you don't need to master advanced features. The book explains how to interoperate with Java, but the focus is on Clojure itself.
What are the main differences between this book and books like Clojure Programming Fun?
This book focuses more on in-depth analysis of language design philosophy and core features (such as concurrency models), and on how to use Clojure to build robust programs, balancing theoretical depth with practical guidance. Clojure Programming Fun, by contrast, may lean more toward guiding beginners through abundant examples.
What level can I reach after finishing this book?
You will have a solid grasp of Clojure core syntax, functional programming thinking, and the use of immutable data structures, and you will be able to design concurrent programs using models such as STM, giving you the foundation to develop real projects with Clojure.

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.

About the author

哈罗威 Author

Holloway is an author of programming books about whom limited public information is available. Only one of his works is currently included in the collection, namely Clojure Programming. From this title it can be inferred that his writing focuses on the field of program design, specifically around Clojure, a functional programming language. The book is commonly categorized under programming design, suggesting that its content leans toward language practice and programming methods rather than general introductory popular science. Although Holloway's nationality, biography, and academic background cannot be verified, his extant work shows a concern with how the functional programming paradigm represented by Clojure is applied in real projects, and its style is likely centered on technical explanation and code examples. For Chinese readers, such a work can serve as reference material for understanding Clojure's language features and programming approaches, and is suitable for readers with some programming background who wish to broaden their technical horizons.

拜卓 Author

Bai Zhuo is a Chinese-language book author about whom limited public information is available; only the name and one work can be confirmed. The representative work, Clojure Programming Design, falls under programming and design and centers on Clojure, a functional programming language, for developers who wish to learn or master it. Based on the available material, Bai Zhuo's writing focuses on programming design, with works that address the study and application of technical languages and serve the reading needs of programming practitioners. Because nationality, dates of birth and death, educational background, and professional experience are not reliably documented, this profile makes no speculation about personal biography and presents only the basic picture of a technical book author as reflected in the library entry. In terms of the work currently visible, Bai Zhuo's contribution lies mainly in introducing Clojure-related knowledge to readers in Chinese book form, offering a reference for the Chinese programming community to learn about the language. The writing style and specific influence await further material.

Top rated in the same category