Concepts of Programming Languages by Sebesta is a book that we used that as the text for my comparative programming languages class. I haven't read CTMCP, so I cannot compare. However, after taking that class during my undergraduate, I couldn't believe that it was an elective! There should definitely be a "models of programming languages" class as a core requirement for any computer science curriculum. My CS program required a formal models class, but learning about machine models is very different from learning about the history, evolution, and paradigms of programming languages.
I have read SICP, and it is very much worth reading. I'm not sure it was as general as Sebesta's book, but certainly a classic that any (Lisp) hacker should read. Paul On Fri, Jun 5, 2009 at 11:40 AM, Laurent PETIT <laurent.pe...@gmail.com>wrote: > > 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<http://www.info.ucl.ac.be/%7Epvr/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<http://www.info.ucl.ac.be/%7Epvr/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 -~----------~----~----~----~------~----~------~--~---