The The Clojure Workshop

The The Clojure Workshop
Author :
Publisher : Packt Publishing Ltd
Total Pages : 799
Release :
ISBN-10 : 9781838825119
ISBN-13 : 1838825118
Rating : 4/5 (19 Downloads)

Synopsis The The Clojure Workshop by : Joseph Fahey

Learn how to solve problems using Clojure or ClojureScript and become a confident functional programmer with the help of engaging activities and challenging projects Key FeaturesMaster the tools and patterns of the Clojure and ClojureScript ecosystemsLearn the fundamentals of functional programming and immutabilityApply your skills practically by developing a range of scalable applicationsBook Description The Clojure Workshop is a step-by-step guide to Clojure and ClojureScript, designed to quickly get you up and running as a confident, knowledgeable developer. Because of the functional nature of the language, Clojure programming is quite different to what many developers will have experienced. As hosted languages, Clojure and ClojureScript can also be daunting for newcomers because of complexities in the tooling and the challenge of interacting with the host platforms. To help you overcome these barriers, this book adopts a practical approach. Every chapter is centered around building something. As you progress through the book, you will progressively develop the 'muscle memory' that will make you a productive Clojure programmer, and help you see the world through the concepts of functional programming. You will also gain familiarity with common idioms and patterns, as well as exposure to some of the most widely used libraries. Unlike many Clojure books, this Workshop will include significant coverage of both Clojure and ClojureScript. This makes it useful no matter your goal or preferred platform, and provides a fresh perspective on the hosted nature of the language. By the end of this book, you'll have the knowledge, skills and confidence to creatively tackle your own ambitious projects with Clojure and ClojureScript. What you will learnWrite idiomatic code with Clojure and ClojureScriptUnderstand and use common patterns and best practicesExperiment with code and interact with programs using the REPLLearn the fundamentals of functional programming and immutabilityMaster concepts including mapping, filtering, reducing and recursionStructure and build your code using namespaces and LeiningenWrite unit tests to validate application behaviorSimplify your code and improve efficiency with macrosWho this book is for The Clojure Workshop is for anyone who is curious about functional programming and wants to get started learning Clojure or ClojureScript. Prior experience of another programming language, such as Java or JavaScript, is recommended, and will help you grasp the concepts covered in this book more easily.

Clojure for the Brave and True

Clojure for the Brave and True
Author :
Publisher : No Starch Press
Total Pages : 329
Release :
ISBN-10 : 9781593277239
ISBN-13 : 1593277237
Rating : 4/5 (39 Downloads)

Synopsis Clojure for the Brave and True by : Daniel Higginbotham

For weeks, months—nay!—from the very moment you were born, you’ve felt it calling to you. At long last you’ll be united with the programming language you’ve been longing for: Clojure! As a Lisp-style functional programming language, Clojure lets you write robust and elegant code, and because it runs on the Java Virtual Machine, you can take advantage of the vast Java ecosystem. Clojure for the Brave and True offers a "dessert-first" approach: you’ll start playing with real programs immediately, as you steadily acclimate to the abstract but powerful features of Lisp and functional programming. Inside you’ll find an offbeat, practical guide to Clojure, filled with quirky sample programs that catch cheese thieves and track glittery vampires. Learn how to: –Wield Clojure’s core functions –Use Emacs for Clojure development –Write macros to modify Clojure itself –Use Clojure’s tools to simplify concurrency and parallel programming Clojure for the Brave and True assumes no prior experience with Clojure, the Java Virtual Machine, or functional programming. Are you ready, brave reader, to meet your true destiny? Grab your best pair of parentheses—you’re about to embark on an epic journey into the world of Clojure!

Getting Clojure

Getting Clojure
Author :
Publisher : Pragmatic Bookshelf
Total Pages : 407
Release :
ISBN-10 : 9781680506099
ISBN-13 : 1680506099
Rating : 4/5 (99 Downloads)

Synopsis Getting Clojure by : Russ Olsen

Behind every programming language lies a vision of how programs should be built. The vision behind Clojure is of a radically simple language framework holding together a sophisticated collection of programming features. Learning Clojure involves much more than just learning the mechanics of the language. To really get Clojure you need to understand the ideas underlying this structure of framework and features. You need this book: an accessible introduction to Clojure that focuses on the ideas behind the language as well as the practical details of writing code. Clojure attracts developers on the cutting edge and is arguably the best language for learning to program in the functional style without compromise. But this comes with a steep learning curve. Getting Clojure directly addresses this by teaching you how to think functionally as it teaches you the language. You'll learn about Clojure's powerful data structures and high-level functions, but you'll also learn what it means for a language to be functional, and how to think in Clojure's functional way. Each chapter of Getting Clojure takes a feature or two or three from the language, explains the syntax and the mechanics behind that feature so that you can make it work before digging into the deeper questions: What is the thinking behind the feature? And how does it fit in with the rest of the language? In Getting Clojure you'll learn Clojure's very simple syntax, but you'll also learn why that syntax is integral the way the language is constructed. You'll discover that most data structures in Clojure are immutable, but also why that leads to more reliable programs. And you'll see how easy it is to write Clojure functions and also how you can use those functions to build complex and capable systems. With real-world examples of how working Clojure programmers use the language, Getting Clojure will help you see the challenges of programming through the eye of experienced Clojure developers. What You Need: You will need to some background in programming. To follow along with the examples in the book, you will need Java 6 or new, Clojure 1.8 or 1.9, and Leiningen 2.

Mastering Clojure

Mastering Clojure
Author :
Publisher : Packt Publishing Ltd
Total Pages : 267
Release :
ISBN-10 : 9781785882050
ISBN-13 : 1785882058
Rating : 4/5 (50 Downloads)

Synopsis Mastering Clojure by : Akhil Wali

Understand the philosophy of the Clojure language and dive into its inner workings to unlock its advanced features, methodologies, and constructs About This Book Learn to handle data using sequences, reducers, and transducers in Clojure Explore the lesser known and more advanced features, constructs, and methodologies of the Clojure language and its ecosystem, such as asynchronous channels, actors, logic programming, and reactive programming Sharpen your Clojure skills through illustrative and comprehensive examples Who This Book Is For If you're looking to learn more about the core libraries and dive deep into the Clojure language, then this book is ideal for you. Prior knowledge of the Clojure language is required. What You Will Learn Maximize the impact of parallelization, functional composition, and process transformation by composing reducers and transducers Process and manipulate data using sequences, reducers, and transducers in Clojure Modify and add features to the Clojure language using macros Explore the features of category theory and custom data sources for logic programming in Clojure Orchestrate parallelism and concurrency using built-in primitives as well as community libraries in Clojure Handle data with asynchronous and reactive programming methodologies and leverage it using the core.async library 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. Mastering Clojure gives you an insight into the nitty-gritty details and more advanced features of the Clojure programming language to create more scalable, maintainable, and elegant applications. You'll start off by learning the details of sequences, concurrency primitives, and macros. Packed with a lot of examples, you'll get a walkthrough on orchestrating concurrency and parallelism, which will help you understand Clojure reducers, and we'll walk through composing transducers so you know about functional composition and process transformation inside out. We also explain how reducers and transducers can be used to handle data in a more performant manner. Later on, we describe how Clojure also supports other programming paradigms such as pure functional programming and logic programming. Furthermore, you'll level up your skills by taking advantage of Clojure's powerful macro system. Parallel, asynchronous, and reactive programming techniques are also described in detail. Lastly, we'll show you how to test and troubleshoot your code to speed up your development cycles and allow you to deploy the code faster. Style and approach This is an easy-to-follow project-based guide that throws you directly into the excitement of Clojure code. Mastering Clojure is for anyone who is interested in expanding their knowledge of language features and advanced functional programming.

Clojure for Java Developers

Clojure for Java Developers
Author :
Publisher : Packt Publishing Ltd
Total Pages : 156
Release :
ISBN-10 : 9781785280412
ISBN-13 : 1785280414
Rating : 4/5 (12 Downloads)

Synopsis Clojure for Java Developers by : Eduardo Díaz

Transition smoothly from Java to the most widely used functional JVM-based language – Clojure About This Book Write apps for the multithreaded world with Clojure's flavor of functional programming Discover Clojure's features and advantages and use them in your existing projects The book is designed so that you'll be able put to use your existing skills and software knowledge to become a more effective Clojure developer Who This Book Is For This book is intended for Java developers, who are looking for a way to expand their skills and understand new paradigms of programming. Whether you know a little bit about functional languages, or you are just getting started, this book will get you up and running with how to use your existing skills in Clojure and functional programming. What You Will Learn Understand the tools for the Clojure world and how they relate to Java tools and standards (like Maven) Learn about immutable data structures, and what makes them feasible for everyday programming Write simple multi-core programs using Clojure's core concepts, like atoms, agents and refs Understand that in Clojure, code is data, and how to take advantage of that fact by generating and manipulating code with macros Learn how Clojure interacts with Java, how the class loaders work and how to use Clojure from Java or the other way around Discover a new, more flexible meaning of polymorphism and understand that OOP is not the only way to get it In Detail We have reached a point where machines are not getting much faster, software projects need to be delivered quickly, and high quality in software is more demanding as ever. We need to explore new ways of writing software that helps achieve those goals. Clojure offers a new possibility of writing high quality, multi-core software faster than ever, without having to leave your current platform. Clojure for Java developers aims at unleashing the true potential of the Clojure language to use it in your projects. The book begins with the installation and setup of the Clojure environment before moving on to explore the language in-depth. Get acquainted with its various features such as functional programming, concurrency, etc. with the help of example projects. Additionally, you will also, learn how the tooling works, and how it interacts with the Java environment. By the end of this book, you will have a firm grip on Clojure and its features, and use them effectively to write more robust programs. Style and approach An easy to follow, step-by-step, guide on how to start writing Clojure programs making use of all of its varied features and advantages. As this is a new language, certain new concepts are supported with theoretical section followed by simple projects to help you gain a better understanding and practice of how Clojure works.

Living Clojure

Living Clojure
Author :
Publisher : "O'Reilly Media, Inc."
Total Pages : 239
Release :
ISBN-10 : 9781491909294
ISBN-13 : 1491909293
Rating : 4/5 (94 Downloads)

Synopsis Living Clojure by : Carin Meier

Annotation If you're an experienced programmer looking for a thorough but gentle introduction to Clojure, this is the perfect guide for you. Author Carin Meier not only provides a practical overview of this JVM language and its functional programming concepts, but also includes a complete hands-on training course to help you learn Clojure in a structured way.

Clojure Programming

Clojure Programming
Author :
Publisher : "O'Reilly Media, Inc."
Total Pages : 630
Release :
ISBN-10 : 9781449335359
ISBN-13 : 1449335357
Rating : 4/5 (59 Downloads)

Synopsis Clojure Programming by : Chas Emerick

"Clojure programming ... This functional programming language not only lets you take advantage of Java libraries, services, and other JVM resources, it rivals other dynamic languages such as Ruby and Python. With this comprehensive guide, you'll learn Clojure fundamentals with examples that relate it to languages you already know"--Page 4 of cover

Learning ClojureScript

Learning ClojureScript
Author :
Publisher : Packt Publishing Ltd
Total Pages : 311
Release :
ISBN-10 : 9781785887796
ISBN-13 : 1785887793
Rating : 4/5 (96 Downloads)

Synopsis Learning ClojureScript by : W. David Jarvis

Master the art of agile single page web application development with ClojureScript About This Book Set up interactive development workflows for the browser or Node.js thanks to the ClojureScript ecosystem Learn the basics of interactive single page web app development taking advantage of the functional nature of ClojureScript Delve into advanced rich web application development concepts such as Om, along with core.async, using zippers and logic programming, and preparing code for production with testing or optimizing via the Google Closure Compiler Who This Book Is For This book is for web application developers who want to benefit from the power of ClojureScript to get an agile and highly productive development platform that targets mainly browser JavaScript. You are not required to be fluent in Clojure, but it will be easier for you if you have a basic understanding of browser and server-side JavaScript. What You Will Learn Understand how the ClojureScript compiler operates Set up interactive development workflows for ClojureScript Grasp the basics of the ClojureScript language, including basic syntax, data structures, variable scoping, namespaces, and finally the powerful sequence abstraction Delve into advanced concepts such as functional programming, macro writing, asynchronous programming, app routing, and real-time web Develop simple one page web applications Explore techniques to make your web apps aware of the external world through external or embedded database access or Oauth 2 integration Learn more advanced ClojureScript concepts like in app routing, real-time web Prepare your work for production, getting insights into optional type-checking, writing portable Clojure/ClojureScript code, and testing In Detail Clojure is an expressive language that makes it possible to easily tackle complex software development challenges. Its bias toward interactive development has made it a powerful tool, enabling high developer productivity. In this book, you will first learn how to construct an interactive development experience for ClojureScript.. You will be guided through ClojureScript language concepts, looking at the basics first, then being introduced to advanced concepts such as functional programming or macro writing. After that, we elaborate on the subject of single page web applications, showcasing how to build a simple one, then covering different possible enhancements. We move on to study more advanced ClojureScript concepts, where you will be shown how to address some complex algorithmic cases. Finally, you'll learn about optional type-checking for your programs, how you can write portable code, test it, and put the advanced compilation mode of the Google Closure Compiler to good use. Style and approach This book is a comprehensive reference guide on ClojureScript development for the front end, and will gradually help you master interactive ClojureScript development workflows, through detailed step-by-step information illustrated with annotated code samples.

Hands-On Reactive Programming with Clojure

Hands-On Reactive Programming with Clojure
Author :
Publisher : Packt Publishing Ltd
Total Pages : 288
Release :
ISBN-10 : 9781789341966
ISBN-13 : 1789341965
Rating : 4/5 (66 Downloads)

Synopsis Hands-On Reactive Programming with Clojure by : Konrad Szydlo

Learn how to use RxClojure to deal with stateful computations Key FeaturesLeverage the features of Functional Reactive Programming using ClojureCreate dataflow-based systems that are the building blocks of Reactive ProgrammingUse different Functional Reactive Programming frameworks, techniques, and patterns to solve real-world problemsBook Description Reactive Programming is central to many concurrent systems, and can help make the process of developing highly concurrent, event-driven, and asynchronous applications simpler and less error-prone. This book will allow you to explore Reactive Programming in Clojure 1.9 and help you get to grips with some of its new features such as transducers, reader conditionals, additional string functions, direct linking, and socket servers. Hands-On Reactive Programming with Clojure starts by introducing you to Functional Reactive Programming (FRP) and its formulations, as well as showing you how it inspired Compositional Event Systems (CES). It then guides you in understanding Reactive Programming as well as learning how to develop your ability to work with time-varying values thanks to examples of reactive applications implemented in different frameworks. You'll also gain insight into some interesting Reactive design patterns such as the simple component, circuit breaker, request-response, and multiple-master replication. Finally, the book introduces microservices-based architecture in Clojure and closes with examples of unit testing frameworks. By the end of the book, you will have gained all the knowledge you need to create applications using different Reactive Programming approaches. What you will learnUnderstand how to think in terms of time-varying values and event streamsCreate, compose, and transform observable sequences using Reactive extensionsBuild a CES framework from scratch using core.async as its foundationDevelop a simple ClojureScript game using ReagiIntegrate Om and RxJS in a web applicationImplement a reactive API in Amazon Web Services (AWS) Discover helpful approaches to backpressure and error handlingGet to grips with futures and their applicationsWho this book is for If you’re interested in using Reactive Programming to build asynchronous and concurrent applications, this is the book for you. Basic knowledge of Clojure programming is necessary to understand the concepts covered in this book.

Clojure Reactive Programming

Clojure Reactive Programming
Author :
Publisher : Packt Publishing Ltd
Total Pages : 232
Release :
ISBN-10 : 9781783986675
ISBN-13 : 1783986670
Rating : 4/5 (75 Downloads)

Synopsis Clojure Reactive Programming by : Leonardo Borges

If you are a Clojure developer who is interested in using Reactive Programming to build asynchronous and concurrent applications, this book is for you. Knowledge of Clojure and Leiningen is required. Basic understanding of ClojureScript will be helpful for the web chapters, although it is not strictly necessary.