-
Gödel, Escher, Bach: an Eternal Golden Braid
A Metaphorical Fugue on Minds and Machines in the Spirit of Lewis Carroll
Douglas R. Hofstadter
Basic Books, 1979, ISBN
0-465-02685-0
hbk
This is a mind-boggling discourse on artificial intelligence,
baroque music, and mathematical incompleteness theorems.
One of my most favorite books.
-
Infinity and the Mind
The Science and Philosophy of the Infinite
Rudy Rucker
Bantam Books, 1982, ISBN
0-553-23433-1
pbk
Probably the most detailed discussion of the concept of infinity that
there is.
Comprehensive coverage of the mathematics of transfinite (infinite) numbers
and thought-provoking discussions of the philosophical questions that
arise when contemplating infinity.
It also covers the foundations of set theory,
Georg Cantor's transfinite numbers,
and Kurt Gödel's incompleteness theorem.
It is sometimes postulated that a universe containing all possible histories
must eventually include a history where unicorns exist.
This is an incorrect understanding of infinite sets, because there can exist
infinite sets that exclude an infinite number of possible (or impossible)
subsets; for example, the set of even integers contains an infinite number of
integers, yet it also excludes an infinite number of integers (all of them
being odd).
-
Why People Believe Weird Things
Pseudoscience, Superstition, and Other Confusions of Our Time
Micheal Shermer
Forward by Steven Jay Gould
W. H. Freeman and Company, 1997, ISBN
0-7167-3387-0
pbk
Written by the founder of the Skeptics Society
(www.skeptic.com),
this serves as a manifesto for skeptics.
Catalogs and analyzes the various pseudoscientific, paranormal, and
superstitious beliefs of our society.
Details the distinction between these belief systems and true science.
Also defines what is means to be a skeptic, the approach of skepticism,
and critical thinking.
This underlying theme of this book might best be summed up by
the response Shermer gave when asked,
"Why should we believe anything you say?".
His response was, "You shouldn't. Think for yourself".
-
The World Treasury of Physics, Astronomy, and Mathematics
edited by Timothy Ferris
Little, Brown and Company, 1991, ISBN
0-316-28133-6
pbk
An excellent and exhaustive (large) book containing
excerpts and selected articles from the great minds of science and
mathematics.
-
One, Two, Three... Infinity
Facts and Speculations of Science
George Gamow
Dover Publications, Inc., 1947(1961,1974), ISBN
0-486-25664-2
pbk
Some of the items in this book are a bit dated,
but this is a little gem of a book nonetheless.
Describing this book as a summary of the history of physics does not do it
justice, as it is much more than that.
Gamow covers the various topics of mathematics, relativity, thermodynamics,
the elements and basic chemistry, life, probability, and cosmology.
-
ISMs
A Compendium of Concepts, Doctines, Traits, and Beliefs
from ABLEISM to ZYGODACTYLISM
Alan & Theresa von Altendorf
Mustang Publishing, 1991, ISBN
0-914457-45-4
hbk
Defines and discusses every "-ism" term that exists from a refreshingly
honest and politically incorrect perspective.
-
The Bell Curve
Richard J. Herrnstein and Charles Murray
The Free Press, 1994, ISBN
0-02-914673-9
hbk
Controversial book which examines the distribution of intelligence
among different categories of people based on analysis of
years of accumulated data.
The authors estimate that intelligence is about 60% inherited and
40% environmental.
-
Rare Earth
Why Complex Life is Uncommon in the Universe
Peter D. Ward, Donald Brownlee
Copernicus / Springer-Verlag, 2000, ISBN
0-387-98701-0
hbk
The authors use the latest discoveries in biology, geology, and physics
to put forth their "Rare Earth" hypothesis, which states that primitive
life, such as bacteria, is probably more common throuhgout the universe
that previously thought, but that complex life, such as animals and humans,
is probably much rarer than previously thought.
The events and conditions that led up to intelligent life
on Earth are probably an extremely rare and possibly unique combination,
making the existence of intelligent extraterrestrial life extremely
unlikely.
Also discusses the fairly small range of conditions required to maintain
hospitable living conditions on Earth, such as atmospheric carbon dioxide
levels, terrestrial geological activity, and bombardments from solar-orbit
comets and asteroids.
Such conditions have not always been at the levels they are today.
-
Code Complete
A Practical Handbook of Software Construction
Steven McConnell
Microsoft Press, 1993, ISBN
1-55615-484-4
pbk
An extremely well-written and thorough treatment of program
construction
(which is another term for programming).
This is a must read for every programmer and also for every software
manager.
I agree with 99% of what McConnell says; this is the book I wish I had
written.
-
Programming Pearls
Second Edition
Jon Bentley
Addison-Wesley, 2000, ISBN
0-201-65788-0
pbk
More Programming Pearls
Confessions of a Coder
Jon Bentley
Addison-Wesley, 1988, ISBN
0-201-11889-0
pbk
Bentley wrote a series of columns in the
Communications of the ACM
and then collected them into these books.
He covers all the classic programming activities,
including hashing, sorting, searching, and code tuning.
They also make great references;
the sections on binary search and heapsort alone are worth the price
of the book.
The second edition of the first volume has updated chapters and a few new
topics.
A must read for every programmer.
-
Programming On Purpose
Essays on Software Design
P. J. Plauger
P T R Prentice-Hall, 1993, ISBN
0-13-721374-3
pbk
Programming On Purpose II
Essays on Software People
P. J. Plauger
P T R Prentice-Hall, 1993, ISBN
0-13-328105-1
pbk
Programming On Purpose III
Essays on Software Technology
P. J. Plauger
P T R Prentice-Hall, 1994, ISBN
0-13-328113-2
pbk
These are Plauger's collections of the columns he wrote for
Computer Language magazine.
He covers many areas of programming, software management, and production.
A must read for programmers and recommended for managers.
-
The Elements of Programming Style
Second Edition
Brian Kernighan, P. J. Plauger
McGraw-Hill, 1978, ISBN
0-07-034207-5
pbk
One of the first books by this pair of authors, covering many aspects
of good programming style.
Some of the examples may seem dated at first glance since they are
written in FORTRAN and PL/1, but the principles espoused are just as
valid today as they were then.
-
GOTO Statement Considered Harmful
Egsder Dijkstra
Communications of the ACM, 11(3),
Mar 1968
Often misquoted, this is the seminal paper that clarified the concept of
structured programming and its various control structures.
Modern programming dogma has embraced the myth that goto in and of
itself is evil, but it is enlightening to read the original tract and realize
that this dogmatic belief entirely misses the point.
This paper was written at a time when the accepted way of programming was to
code loops, if-thens, and other control structures by hand using goto
statements.
In retrospect, Dijkstra did not mean that all uses of goto were bad,
but rather that superior control structures existed that, when used properly,
would eliminate almost entrely the need for such unbridled and archaic
programming techniques.
I have a more in-depth analysis of Dijkstra's letter at:
david.tribble.com/text/goto.html.
-
The Tao of Programming
Geoffrey James
InfoBooks, 1987, ISBN
0-931137-07-1
pbk
The Zen of Programming
Geoffrey James
InfoBooks, 1988, ISBN
0-931137-09-8
pbk
Wonderful books for programmers.
They make good introductions to Tao and Zen as well.
-
C: A Reference Manual
Fourth Edition
Samuel P. Harbison, Guy L. Steele Jr.
Prentice-Hall, 1995, ISBN
0-13-326224-3
pbk
This is an excellent reference on the C language and library.
-
The Annotated ANSI C Standard
ANSI/ISO 9899-1990
Herbert Schildt
McGraw-Hill, 1990, ISBN
0-07-881952-0
pbk
This is the standard reference on the C language and library.
It contains the complete text of the ANSI/ISO standard along with
annotations explaining each page of the standard.
The ANSI standard is one of the best standards document ever written,
being very readable and very thorough.
Althought some of the explanations and code examples are misguided,
the book serves very well as a reference for the C language.
-
The Standard C Library
P. J. Plauger
Prentice Hall P T R, 1991, ISBN
0-13-131509-9
pbk
This contains the text of the ANSI/ISO standard on the C library,
along with actual implementation examples.
-
The Design and Evolution of C++
Bjarne Stroustrup
Addison-Wesley, 1994, ISBN
0-201-54330-3
pbk
A historical perspective of the design of the C++ language, which sheds
light on how and why the features of the language were invented and why some
were left out.
Also explains some of the features destined for next releases.
-
C++: The Complete Reference
Second Edition
Herbert Schildt
McGraw-Hill, 1995, ISBN
0-07-882123-1
pbk
A very good reference on C++.
It belongs in every C++ programmer's library.
-
The Draft Standard C++ Library
P. J. Plauger
Prentice Hall P T R, 1995, ISBN
0-13-117003-1
pbk
This is the standard reference on the evolving C++ standard library.
-
The Standard C++ Template Library
P. J. Plauger (editor)
Prentice Hall P T R, 2000, ISBN
0-13-437633-1
pbk
This is the standard reference on the evolving C++ standard library.