Chapter 1
Getting Started

Clojure is a functional programming language on the JVM with great support for managing state and concurrency. Two key concepts drive everything in Clojure: simplicity and power.

Simplicity has several meanings that are relevant in software, but the definition we care about is the original one: a thing is simple if it is not compound. Simple components allow systems to do what their designers intend, without also doing other things irrelevant to the task at hand.

Power also has many meanings. The one we care about is whether the capabilities are adequate for the tasks we want to undertake. To feel powerful as a programmer, you need to build on a platform that’s itself capable and widely deployed, such as the JVM. Then, your tools must give you full, unrestricted access to that power. Power is often an essential requirement for projects that must get the most out of their platform.

As programmers, we’ve spent years choosing between power and simplicity in our tools. Some trade-offs are fundamental, but power vs. simplicity is not one of them. Clojure shows that they can instead go hand in hand.

We’re going to start by diving into some examples to see how Clojure differentiates itself from other languages. Then, one of the ways Clojure puts simple and powerful tools in your hands is by encouraging interactive development with the REPL. We’ll see how to work efficiently at the REPL and also how to use the REPL to explore the environment and other libraries.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.117.187.113