Well-written programs are easy to understand, modify, and maintain. Clojure, a functional-first dynamic language for the Java Virtual Machine, helps you write clean code without sacrificing productivity concerns like rapid prototyping and interaction with standard Java libraries. In this thoughtful, hands-on tutorial, Clojure expert Yehonathan Sharvit helps you get programming with Clojure by engaging you in fast, fun exercises, projects, and clearly-written lessons. By the time you finish your final capstone project, you’ll be designing Clojure functions, apps, and libraries like a pro!
If you have always wanted to learn how to program using a language all the cool kids use, now is your chance!
Get Programming with Clojure guides you through exercises, examples, and projects that teach you to build fast, robust, applications with Clojure. Under Yehonathan Sharvit’s expert instruction, you’ll begin by getting comfortable with Clojure’s Lisp-y syntax. Then, you’ll start writing short programs that introduce functional programming principles like immutability, data-orientation, and first-class functions. After two or three small projects, you’ll be ready to drill down to more advanced concepts including logic operations, vectors and maps, lazy sequences, pure and high-order functions, and state management.
Throughout this hands-on book, you’ll work with the custom interactive Klipse Clojure REPL environment—developed by the author himself!—where you’ll quickly appreciate the productivity benefits of evaluating and modifying expressions from the command line. Capstone projects at the end of each set of short, focused lessons seal in all you’ve learned. You’ll grow your skills step-by-step as you explore building and deploying a Clojure program that handles real-life challenges like the management of a bank account. By the end of the book, you’ll be well-prepared to move on to developing ecommerce web servers, writing front-end apps, publishing your own Clojure libraries, and more!
placing your order...Don't refresh or navigate away from the page.