oppure
Accedi per attivare gli ordini 1-Click.
oppure
È necessaria l'iscrizione alla prova gratuita di Amazon Prime. Iscriviti al momento del pagamento. Maggiori informazioni
Altre opzioni di acquisto
Ne hai uno da vendere? Vendi i tuoi articoli qui
Dillo alla casa editrice.
Vorrei leggere questo libro su Kindle

Non hai un Kindle? Scopri Kindle, oppure scarica l'applicazione di lettura Kindle GRATUITA.

Practical Clojure [Brossura]

Luke Vanderhart , Stuart Sierra

Prezzo di copertina: EUR 41,79
Prezzo: EUR 35,67 Spedizione gratuita. Dettagli
Risparmi: EUR 6,12 (15%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Disponibile, ma la consegna potrebbe richiedere fino a 2 giorni in più.
Venduto e spedito da Amazon. Confezione regalo disponibile.
Vuoi la consegna garantita entro martedì 28 maggio? Ordina entro e scegli la spedizione 1 giorno. Dettagli

Descrizione del libro

17 maggio 2010
This book is the first definitive reference for the Clojure language, providing both an introduction to functional programming in general and a more specific introduction to Clojure's features. This book demonstrates the use of the language through examples, including features such as STM and immutability, which may be new to programmers coming from other languages. Overview of functional programming and description of what sets Clojure apart from other languages Detailed explanation of Clojure's special features Examples of real-world tasks that are well-suited to Clojure's capabilities, starting with simple tasks and moving on to more complex applications What you'll learn What Clojure is-more than just another Lisp How to set up a Clojure environment The structure and syntax of a Clojure program Java interoperability How to use Clojure for real-world tasks Common idioms of Clojure code Who this book is for There are two audiences for this book: any technical person desiring to know what Clojure is and why they might want to use it, and any programmer desiring to learn and use the language. The goals of these two audiences mesh nicely, given that Clojure has several new, cutting-edge features that programmers are unlikely to have encountered before. Table of Contents The Clojure Way The Clojure Environment Controlling Program Flow Data in Clojure Sequences State Management Namespaces and Libraries Metadata Multimethods and Hierarchies Java Interoperability Parallel Programming Macros and Metaprogramming Datatypes and Protocols Performance

Descrizione prodotto

L'autore

Luke VanderHart is a professional software developer, currently living and working in Washington DC as a consultant with NuWave Solutions. He has over five years of experience working with the Java platform, and has worked on programs ranging from distributed client-server networks serving and synchronizing semantic XML data, to GUI development using Java Swing, to enterprise web portals serving tens of thousands of pages per day. He is a very active member of the Clojure community.

Dettagli prodotto


Vendi la versione digitale di questo libro nel Kindle Store

Se sei un editore o un autore e detieni i diritti digitali di un libro, puoi vendere la versione elettronica nel Kindle Store. Maggiori informazioni

Recensioni clienti

Non ci sono ancora recensioni di clienti su Amazon.it
5 stelle
4 stelle
3 stelle
2 stelle
1 stella
Le recensioni clienti più utili su Amazon.com (beta)
Amazon.com: 4.0 su 5 stelle  10 recensioni
27 di 28 persone hanno trovato utile la seguente recensione
4.0 su 5 stelle A clear, concise introduction, but not a "practical" book 19 luglio 2010
Di Antonio Cangiano - Pubblicato su Amazon.com
Formato:Brossura
Published in June 2010, Practical Clojure by Luke VanderHart and Stuart Sierra is the latest Clojure book to hit stores. Despite the Clojure 1.0 jar shown at the beginning of the book, this title tries to cover the current version of the language, including references to concepts that will be introduced by the upcoming 1.2 version.

The target audience of this book is programmers who are absolutely new to Clojure. It didn't strike me as being particularly aimed at developers who are coming from the Java camp, or the Lisp camp; in this regard, the book is rather "background agnostic", even though Lisp programmers will feel much more at home than Java programmers will, due to the nature of the language itself.

The authors of the book are clearly well versed in this new language (Sierra is part of Clojure/core, the equivalent of the A-Team in Clojureland) and their confidence with the concepts presented is demonstrated throughout the book. Their explanations tend to be clear and to the point. Longer discussions are occasionally included when required to introduce concepts that are novel to most programmers, like the Software Transactional Memory (STM), refs, atoms and agents.

The book starts out by presenting a short but well-argued case for why Clojure is a worthwhile language, and then focuses almost exclusively on the core of the language. I'm afraid they do so to the detriment of the ecosystem surrounding Clojure. The authors don't talk about how to install Clojure, recommend editors and IDEs (albeit a few are casually mentioned), or how to use build tools like Ant, Maven or Leiningen.

clojure.contrib, a fundamental extension library, is barely mentioned and there is no coverage of other important libraries or emerging frameworks. For instance, perhaps expectedly, Compojure (a web framework) and Incanter (a statistical and graphical environment) are only mentioned as examples of DSLs, however examples of their usage are not provided. (I believe the authors mistakenly refer to Compojure as Enclojure, which is a different project).

Despite the narrow focus, Practical Clojure doesn't shy away from complex subjects and manages to include a chapter on Java interoperability, parallel programming, metaprogramming, and performance considerations. It does so briefly however, favoring a cursory presentation of the fundamental concepts rather than in-depth coverage, which would provide the reader with the degree of confidence required to approach real world problems.

The core language is covered in a manner that acts as both a tutorial and a reference. Major concepts, data structures, and common functions are presented to the reader with an endless supply of tiny examples. It's easy to fly through them, but typing along in the REPL will be a far more valuable exercise for readers who hope to retain the information presented.

This leads us to another shortcoming of this book, which is the lack of more structured and complex examples. When I define their examples as "tiny", with very few exceptions, I really mean it. For the first few chapters of the book the examples don't get much larger than calculating the square root of a number through Newton's method or adding contacts to an address book. Most of the other examples do a good job of illustrating the point they are trying to make with one, two, or just a handful of lines of code.

This is an actual sample of the kind of examples you'll find throughout the book to illustrate many core API functions:

user=> (reduce + [1 2 3 4 5])
15

Note that this approach is didactically valid, because it isolates the function to show exactly how it works. After dozens of these functions though, you may expect larger examples to show how to integrate the use of some of these functions and data structures you've learned about. Such examples are seldom included. Furthermore, the book lacks any exercise for the reader. Foundational books that fail to offer many articulated examples and that lack exercises, tend to make it hard for the reader to retain the information and get some hands-on practice.

I have lots of respect for short books that get to the point and avoid wasting the reader's time. C Programming Language (2nd Edition) (aka K&R) is notoriously acclaimed thanks to its clear and concise nature. However, Clojure is not C, and I feel that the 198 pages fall a little short when it comes to introducing this wonderful language to new readers. There is more to Clojure than simply surveying the language itself, even though I suspect that certain readers may appreciate this extremely narrow focus.

Overall the book is well-edited, despite the presence of minor issues. Aside from a few typos (e.g., "becauseall" on page 79), readers may find the formatting to be slightly inconsistent at times. For example in chapter 5 when presenting sequences, after the map function has been introduced, the font for the subsequent functions is substantially decreased for no apparent reason. Readers may be misled into thinking that the functions presented afterward are somehow different from the previous ones, when in fact they're all defined in clojure.core. In Listing 6-3, at page 103, the authors present their first "complex" example (the address book) and they do so by using, among others, doseq. This macro was not introduced before that page nor is it really explained within the example.

From a physical standpoint, this book is a rather thin and wide paperback. A small font, coupled with small margins and a wide layout, imply that the readability of the book suffers a little. The paper itself is off-white, fairly thick and slightly textured, not as pleasant to the touch as other books by Apress or most other technical publishers, even though I recognize that this is a matter of taste (some people may actually love it because of these characteristics).

With two introductory Clojure books on the market, drawing comparisons is unavoidable. Stuart Halloway's Programming Clojure (Pragmatic Programmers) is a slightly older book (published in May 2009), which grants Practical Clojure a distinct advantage. This is not to say that Programming Clojure is obsolete, on the contrary it's still a valid choice, but it doesn't illustrate some of the new features that are available today. For example, in chapter 13 Practical Clojure introduces protocols and datatypes that will be available in Clojure 1.2 for the first time. Given that Halloway's book was published more than a year ago, there was no possible way he could have included such powerful abstractions at the time.

Despite being older and less methodical than Practical Clojure, Programming Clojure tends to offer more complex examples. In the introduction of Programming Clojure you'll see examples which Practical Clojure fails to include until much later in the book. Practical Clojure, the subject of this review, may leave you wanting for more practical examples of how all the language features fit together. Whereas Programming Clojure may leave you longing for more consistent explanations of how each part of the language works on its own.

Practical Clojure and Programming Clojure are competitors in the marketplace, but it wouldn't be a bad idea to get a hold of both, because they complement each other quite well, in my opinion. Having to pick just one, I would probably recommend Practical Clojure, given its more consistent and up to date presentation. The sizzle offered by Programming Clojure, can be found to a much greater degree in upcoming and less introductory books, such as The Joy of Clojure: Thinking the Clojure Way. In this sense, reading Practical Clojure first followed by The Joy of Clojure, would be a solid learning path (Clojure in Action is another worthy addition, but it doesn't replace The Joy of Clojure, which is a real gem).

In conclusion, Practical Clojure is not the Clojure equivalent of the highly praised Practical Common Lisp, from the same publisher. Reading it cover to cover and typing all the snippets included within, will not give you enough knowledge to start writing complex, idiomatic Clojure programs out of the gate.

However, if you are learning Clojure today, I do recommend this book. It's a clear, well thought-out, concise introduction to the language that will give you a solid foundation as you go on to learn more about Clojure and Lisp in general.
23 di 24 persone hanno trovato utile la seguente recensione
4.0 su 5 stelle JUST an introduction 8 giugno 2010
Di reviewer5000 - Pubblicato su Amazon.com
Formato:Brossura|Acquisto verificato Amazon
Presently there are two books out on the clojure language: Stuart Halloway's Programming Clojure and this one (hereafter referred to as V&S). Both are quick romps through the main concepts and features of the 3-year old language.

Generally, I found V&S conceptually better organized and with better prose. Halloway's prose is a frenetic interleave of brief 1-3 sentence paragraphs and single-line repl examples. V&S actually uses whole paragraphs and graphical diagrams which I found more conceptually elucidating, in some cases tying up loose ends from reading Halloway.

Somewhat ironically then, a major setback of V&S is the almost complete lack of example application code. Whereas Halloway develops at least two programs throughout the book (the Lancet example and the Snakes game) in addition to the plethora of repl snippets, V&S rely entirely on short illustrative repl snippets. V&S would have benefited greatly from including more complex applications than singular repl functions.

Both books are useful introductions to the main conceptual novelties of clojure (stm, java interop, etc.), but neither will produce competent functional programmers from those coming from the imperative mainstream. Do not buy this book if you have no functional experience and expect to be an idiomatically competent clojure programmer after reading it.
6 di 6 persone hanno trovato utile la seguente recensione
5.0 su 5 stelle Best introduction so far (Aug. 2010) 20 agosto 2010
Di H. Yang - Pubblicato su Amazon.com
Formato:Brossura
Clojure was first announced in 2007. So far (Aug. 2010) there are two books on the market. The first book, Programming Clojure, was written in a chatty prose, so it is less usable as a language reference book. The current book under review is organized more like a traditional language reference book, so it is easier to look up things. This suits a programmer like me better, who are more used to learn by doing: building small applications and looking up needed pieces when problems are encountered. In addition, this book covers features of Clojure 1.2, which is just out.

There are also two other books that are not finalized yet, but available as electronic early access versions from the publisher (Manning). I am reading one of them, Joy of Clojure, which is a more in-depth book than the two on the market, but also written in chatty format. For my current level of experience (a few months of playing with small code, no previous Lisp experience), I feel the current book under review is the best choice.

Ricerca articoli simili per categoria