Yes, It's rare to see books about programming concepts/models and not programming languages.
As far as I know the following 3 ones deserve being mentioned : * OOSC: Object Oriented Software Construction ( general about object orientation, see http://archive.eiffel.com/doc/oosc/page.html ) * SICP: Structure and Interpretation of Computer Programs ( general, see http://mitpress.mit.edu/sicp/full-text/book/book.html ) * and now CTMCP: Concepts, Techniques and Models of computer programming ( covering all programming concepts/models, aka functional, imperative, object oriented, data flow, ... : see http://www.info.ucl.ac.be/~pvr/book.htm ) I haven't yet finished CTMCP, but I hope it will help me move from the "I know one programming model (e.g. either object oriented, either functional, ...) / I switch from one programming model to another, and I systematically consider the new one as a best fit for any job" attitude to "I now have knowledge to choose the right tool (programming model) for the job at hand (software to build)". Hopefully, clojure seems multi-paradigms enough to be able to stay within the same language while switching from one paradigm to another depending on the subsystems or parts of subsystems to implement ! That also, is for me a big strenght of clojure compared to e.g. java. Regards, -- Laurent 2009/6/5 Daniel Jomphe <danieljom...@gmail.com>: > > I support the CTMCP recommendation. I learned a lot from its first few > hundred pages. (Kept the rest for later.) > > On Jun 5, 2:45 am, Laurent PETIT <laurent.pe...@gmail.com> wrote: >> I just got my own copy of the CTM book (Concepts, Techniques and >> Models of computer programming) (http://www.info.ucl.ac.be/~pvr/book.html) >> and from now on I find it >> very interesting in introducing all these notions (variable, value, >> binding, etc.) one step after the other, showing how the different >> programming models / programming paradigms relate to each other, >> complement themselves, etc. >> >> I encourage you to get your own copy. > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---