Well, objects are closures, so it makes sense to say that Java has closures. It doesn't have _lightweight_ closures with a decent syntax, but it does still have closures! Message passing is "message passing concurrency", which isn't the "message passing" in "message passing vs method invocation". Of course, the chart isn't meant to imply that some language X with paradigms A, B and C can't support paradigm D: you can, for instance, implement the logic programming paradigm in Scheme (miniKanren), Clojure (core.logic) and, well, not in Smalltalk yet (other than the embedded Prologs) because I haven't finished Nutcracker yet! frank On 25 May 2012 22:56, Hernan Wilkinson <hernan.wilkinson@10pines.com> wrote:
I have not read the book, but seeing the principal programming paradigm poster makes me think about how good it is because Java and Smalltalk are wrongly categorized, at least for what I understand of the poster (java with closure, smalltalk not in the message passing category)
On Wed, May 23, 2012 at 8:11 AM, Frank Shearar <frank.shearar@gmail.com> wrote:
On 23 May 2012 12:00, Max Leske <maxleske@gmail.com> wrote:
I'm looking for a good book on programming language history with a focus on the different paradigms (e.g. imperative, functional, â¦). Any suggestions?
Peter Van Roy's and Seif Haridi' "Concepts, Techniques, and Models of Computer Programming" [1] has loads on the different paradigms and comparing them. Not a lot on the _history_ of those though.
ACM's HOPL conferences would provide the history of particular languages.
Between those two sources you ought to be able to construct something like what you need by mapping CTM's "this model uses these paradigms" to the HOPL papers.
frank
[1] http://www.info.ucl.ac.be/~pvr/book.html
Thanks, Max
-- Hernán Wilkinson Agile Software Development, Teaching & Coaching Phone: +54 - 011 - 4311 - 8404 Mobile: +54 - 911 - 4470 - 7207 email: hernan.wilkinson@10Pines.com site: http://www.10Pines.com Address: Paraguay 523, Floor 7 N, Buenos Aires, Argentina