LEADER 04055nam 2200469 450 001 9910162761103321 005 20170217082058.0 010 $a1-78728-801-3 035 $a(CKB)3710000001044863 035 $a(MiAaPQ)EBC4796411 035 $a(PPN)22020702X 035 $a(CaSebORM)9781787129597 035 $a(EXLCZ)993710000001044863 100 $a20170302d2017 uy| 0 101 0 $aeng 135 $aurcnu|||||||| 181 $2rdacontent 182 $2rdamedia 183 $2rdacarrier 200 10$aClojure $ehigh performance JVM programming : explore the world of lightning fast Clojure apps with asynchronous channels, logic, reactive programming, and more : a course in three modules /$fEduardo Di?az, Shantanu Kumar, Akhil Wali 205 $a1st edition 210 1$aBirmingham :$cPackt,$d2017. 215 $a1 online resource (565 pages) $cillustrations 311 $a1-78712-959-4 320 $aIncludes bibliographical references. 330 $aExplore 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 off... 606 $aClojure (Computer program language) 606 $aJava (Computer program language) 606 $aFunctional programming (Computer science) 615 0$aClojure (Computer program language) 615 0$aJava (Computer program language) 615 0$aFunctional programming (Computer science) 700 $aDi?az$b Eduardo$0673405 702 $aKumar$b Shantanu 702 $aWali$b Akhil 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 906 $aBOOK 912 $a9910162761103321 996 $aClojure$92866845 997 $aUNINA