Re: Lisper's computing bookshelf: share your favorites

From: Frank A. Adrian (fadrian_at_ancar.org)
Date: 11/20/03


Date: Thu, 20 Nov 2003 08:47:43 -0800

Paolo Amoroso wrote:
> I am looking for suggestions on non-Lisp, computing books that a
> Lisper may find interesting, insightful, inspiring, thought-provoking,
> useful or just fun.

Math & Basic CS
---------------
The Art of Computer Programming by Donald E. Knuth

Concrete Mathematics by Knuth, Graham & Patashnik

Denotational Semantics by Stoy

Compilers by Aho, Sethi & Ullman

Compiling with Continuations by Appel

Topics in Advanced Language Implementation by Peter Lee

Methods
-------
An Introduction to Formal Specification and Z by Potter, Sinclair & Till (a
relatively unknown book on a relatively unknown formal method based on a
relatively unknown language based on operational semantics)

Object-oriented Software Construction by Meyer (still one of the best books
on what the rest of the world thinks when they hear the words OO)

Extreme Programming Explained by Kent Beck (whether you agree with the
XP'ers or not, the seminal work on the methodology and essential to
understanding agile methodologies in general)

Refactoring by Martin Fowler (so you can feel secure in the knowledge that
no matter how bad your Lisp code works, you still don't need to go through
the convolutions that Java programmers do)

Smalltalk Best Practice Patterns by Kent Beck

Other languages
---------------
Smalltalk-80: The Language and its Implementation by Goldberg & Robson (the
only language that ever came close to matching Lisp in ease of development
and dynamicity - first MOP, too - try to get the first edition).

Beginning Forth by Chirlian (the only language that matched Lisp for
syntactic elegance)

The Art of Prolog by Sterling & Shapiro (understand declarative and logic
programming)

ML for the Working Programmer by Paulson (learn how the other half lives)

The Design and Evolution of C++ by Stroustrup (understand how C++
programmers got the way they are)

Programming Perl by Wall (see just how screwed up a language can be)

Other
-----

Patterns of Software by Richard Gabriel

Automated Resoning: Introduction and Applications by Wos, Overbeek, Lusk &
Boyle

Peopleware by Lister & DeMarco

Computer Architecture: A Quantitative Approach (learn why Lisp will never be
supported well by the people who design processors)



Relevant Pages

  • Re: Computer Algebra Algorithms
    ... If you want to learn CAS, learn lisp because that is what the ... The parser could be written in C or any other language. ... I would consider that such a minor aspect of a programming ... generally prefer righting there numeric algorithms in Maple and MATLAB ...
    (sci.math.symbolic)
  • Why should I care about Lisp and Scheme?
    ... Foreword to the book "Essentials of Programming Languages". ... It's an imaginary conversation between a newbie and a hacker. ... Why should I care about Lisp and Scheme? ... language, the result would be a Lisp interpreter. ...
    (comp.lang.scheme)
  • Re: F#
    ... Why did they take Lisp? ... properties of the language are only a part of the picture. ... If the favored programming style of a certain language ... Knowing a success story only tells me that other people ...
    (comp.lang.functional)
  • Re: Opinions on intro lisp books
    ... But Lisp is a little different, ... Some languages support one style of programming better than they ... Even if that weren't the case, I'm not sure that a language being a ... I don't believe that learning to program in CL requires more theory ...
    (comp.lang.lisp)
  • [ANN] 2nd European Lisp & Scheme Workshop
    ... Pascal Costanza, Programming Technology Lab, Vrije Universiteit Brussel ... Lisp has a tradition of providing a fruitful basis for language design ... and suggestions for breakout groups that discuss the opportunities Lisp ...
    (comp.lang.lisp)