Key FeaturesDiscover Clojures features and advantages and use them in your existing projectsExplore lesser-known and more advanced features, constructs, and methodologies such as asynchronous channels, actors, logic programming, and reactive programmingMeasure and monitor performance, and understand optimization techniquesBook DescriptionClojure 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. Youll 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, youll also learn how to enhance performance using Java interoperability and JVM-specific features from Clojure; youll 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 DiazClojure High Performance Programming, Second Edition by Shantanu KumarMastering Clojure by Akhil WaliWhat you will learnUnderstand tools for the Clojure world and how they relate to Java tools and standards (such as Maven)Write simple multicore programs using Clojures core concepts, such as atoms, agents, and refsGet to grips with Clojures concurrency and state-management primitives in depthAnalyze latency using the Criterium libraryAvoid reflection and boxing with type hintsMaximize the impact of parallelization, functional composition, and process transformation by composing reducers and transducersModify and add features to the Clojure language using macrosTest your code with unit tests, specs, and type checks to write testable codeTroubleshoot and style your Clojure code to make it more maintainableAbout the AuthorEduardo Diaz is a developer with a strong background in the Java language. He has a passion for functional programming and new programming paradigms. His work includes full stack development, systems design, and high-volume, real-time data processing.He has worked on every technology-related problem you can imagine, as a consultant solving anything related to Java, UNIX, C (or any other strange problem you might have had).As a developer, he has been working for around 10 years on Java, Python, Scala, and Clojure, in the media, bank, and primarily communications industries.He is currently working at Grupo Expansion, a media company, where he helps design and implement a new content delivery platform aiming to empower content editors and encourage developers to find new ways to use data.Shantanu Kumar is a software developer living in Bengaluru, India. He works with Concur Technologies as a principal engineer, building a next-generation stack in Clojure. He started learning computer programming when he was at school, and has dabbled in several programming languages and software technologies. Having used Java for a long time, he discovered Clojure early in 2009 and has been a fan of it ever since.When not busy with programming or reading up on technical stuff, he enjoys reading non-fiction and cycling around Bengaluru. Shantanu is an active participant in The Bangalore Clojure Users Group, and contributes to several open source Clojure projects on GitHub. He is also the author of the first edition of the book Clojure High Performance Programming, Packt Publishing.Akhil Wali is a software developer. He has been writing code as a hobbyist since 1997 and professionally since 2010. He completed his post graduation from Santa Clara University in 2010, and he graduated from Visvesvaraya Technological University in 2008. His areas of work include business intelligence systems, ERP systems, search engines, and document collaboration tools. He mostly works with Clojure, JavaScript, and C#. Apart from computers, his interests include soccer, guitar solos, and finding out more about the universe.Table of ContentsGetting Started with ClojureNamespaces, Packages, and TestsInteracting with JavaCollections and Functional ProgrammingMultimethods and ProtocolsConcurrencyMacros in ClojurePerformance by DesignClojure AbstractionsLeaning on JavaHost PerformanceConcurrencyMeasuring PerformancePerformance OptimizationApplication PerformanceWorking with Sequences and PatternsOrchestrating Concurrency and ParallelismParallelization Using ReducersMetaprogramming with MacrosComposing TransducersExploring Category TheoryProgramming with LogicLeveraging Asynchronous TasksReactive ProgrammingTesting Your CodeTroubleshooting and Best PracticesBibliography
Dear publishers and self-publisher, kindly be informed that UBSM & E-Sentral are now using the same publisher panel for your convenience in uploading and updating your eBook content.
If you wish to proceed to log in/ sign up, click Yes. Otherwise, kindly click the X icon to close.