Clojure: High Performance JVM Programming

Eduardo Diaz, Shantanu Kumar, Akhil Wali

  • 出版商: Packt Publishing
  • 出版日期: 2017-01-31
  • 售價: $2,860
  • 貴賓價: 9.5$2,717
  • 語言: 英文
  • 頁數: 580
  • 裝訂: Paperback
  • ISBN: 1787129594
  • ISBN-13: 9781787129597
  • 相關分類: JVM 語言
  • 下單後立即進貨 (約3~4週)

商品描述

Explore the world of lightning fast Clojure apps with asynchronous channels, logic, reactive programming, and more

About This Book

  • Discover Clojure's features and advantages and use them in your existing projects
  • Explore lesser-known and more advanced features, constructs, and methodologies such as asynchronous channels, actors, logic programming, and reactive programming
  • Measure and monitor performance, and understand optimization techniques

Who This Book Is For

If you're looking to learn more about its core libraries and delve into the Clojure language in detail, then this book is ideal for you. Prior knowledge of the Clojure language is required.

What You Will Learn

  • Understand tools for the Clojure world and how they relate to Java tools and standards (such as Maven)
  • Write simple multicore programs using Clojure's core concepts, such as atoms, agents, and refs
  • Get to grips with Clojure's concurrency and state-management primitives in depth
  • Analyze latency using the Criterium library
  • Avoid reflection and boxing with type hints
  • Maximize the impact of parallelization, functional composition, and process transformation by composing reducers and transducers
  • Modify and add features to the Clojure language using macros
  • Test your code with unit tests, specs, and type checks to write testable code
  • Troubleshoot and style your Clojure code to make it more maintainable

In Detail

Clojure is a general-purpose language from the Lisp family with an emphasis on functional programming. It has some interesting concepts and features such as immutability, gradual typing, thread-safe concurrency primitives, and macro-based metaprogramming, which makes it a great choice to create modern, performant, and scalable applications.

This learning path aims at unleashing the true potential of the Clojure language so you can use it in your projects. It begins with installing and setting up the Clojure environment before moving on to explore the language in depth. You'll get acquainted with its various features such as functional programming, concurrency, reducers, transducers, core.async and core.logic, and so on with a great level of detail.

Moving on, you'll also learn how to enhance performance using Java interoperability and JVM-specific features from Clojure; you'll even master language features such as asynchronous channels, actors, logic programming, reactive programming, metaprogramming, and so on.

This learning path combines some of the best that Packt has to offer in one complete, curated package. It includes content from the following Packt products:

  • Clojure for Java Developers by Eduardo Diaz
  • Clojure High Performance Programming, Second Edition by Shantanu Kumar
  • Mastering Clojure by Akhil Wali

Style and approach

This is an easy-to-follow, step-by-step guide to start writing Clojure programs, making use of all of its varied features and advantages.

商品描述(中文翻譯)

探索以異步通道、邏輯、反應式編程等方式創建快速的Clojure應用程式的世界。

關於本書
- 發現Clojure的功能和優勢,並在現有項目中使用它們。
- 探索較少人知道的更高級功能、結構和方法,如異步通道、演員、邏輯編程和反應式編程。
- 測量和監控性能,並了解優化技術。

本書適合對Clojure語言有深入了解並希望更深入瞭解其核心庫的讀者。

你將學到什麼
- 了解Clojure世界的工具以及它們與Java工具和標準(如Maven)的關係。
- 使用Clojure的核心概念(如原子、代理和引用)編寫簡單的多核程序。
- 深入瞭解Clojure的並發性和狀態管理原則。
- 使用Criterium庫分析延遲。
- 使用類型提示避免反射和封箱。
- 通過組合減少器和轉換器最大化並行化、功能組合和過程轉換的影響。
- 使用宏修改和添加Clojure語言的功能。
- 使用單元測試、規格和類型檢查測試代碼,編寫可測試的代碼。
- 進行故障排除並為Clojure代碼添加風格,使其更易於維護。

詳細內容
Clojure是一種以Lisp家族為基礎的通用語言,強調函數式編程。它具有一些有趣的概念和功能,如不可變性、漸進類型、線程安全的並發原則和基於宏的元編程,使其成為創建現代、高效和可擴展應用程式的理想選擇。

本學習路徑旨在發揮Clojure語言的真正潛力,讓您可以在項目中使用它。它從安裝和設置Clojure環境開始,然後深入探索語言。您將熟悉其各種功能,如函數式編程、並發性、減少器、轉換器、core.async和core.logic等等。

此外,您還將學習如何使用Java互操作性和Clojure的JVM特定功能來提高性能;您甚至將掌握異步通道、演員、邏輯編程、反應式編程、元編程等語言功能。

本學習路徑將Packt的最佳內容結合在一個完整的、精選的套裝中。它包括以下Packt產品的內容:
- 《Clojure for Java Developers》(作者:Eduardo Diaz)
- 《Clojure High Performance Programming, Second Edition》(作者:Shantanu Kumar)
- 《Mastering Clojure》(作者:Akhil Wali)

風格和方法
這是一本易於遵循的、逐步指南,幫助您開始編寫Clojure程序,充分利用其各種功能和優勢。