Classic Computer Science Books

S

Stu

I wanted to start a thread discussion on classic computer science
texts you have read that have influenced you in your lifetime. I am
always on the lookout to acquire books that last beyond the subject
matter where the concepts transcends the era in which it was initially
conceived and implemented. I am an avid collector of books and have an
collected several out of print gems or not available now in hardbacks
over the years as I enjoy collecting these texts for my library.

For example every year I take a week and re-read The C Programming
Language (Kernighan, Ritchie) as it's the gold standard to simply well
written texts. It's also a very good read.

I also feel The UNIX Programming Environment also by Kernighan (and
Pike) is also a classic worthy to mention.

It doesn't have to be completely programming related. It could also
have been the most influential book on mathematics, writing, or
sciences, or database concepts.

What books have you read that you still admire and refer to even after
all these years? The kind of books that you would love to be
altruistic and loan to your colleague or friend but fear it wont ever
get returned?

~Stu
 
J

Josh Cheek

[Note: parts of this message were removed to make it a legal post.]

I wanted to start a thread discussion on classic computer science
texts you have read that have influenced you in your lifetime. I am
always on the lookout to acquire books that last beyond the subject
matter where the concepts transcends the era in which it was initially
conceived and implemented. I am an avid collector of books and have an
collected several out of print gems or not available now in hardbacks
over the years as I enjoy collecting these texts for my library.
Hmm, I'm going the opposite direction. I think it will be all PDF from here
on out (annoyingly, publishers haven't embraced this yet). But then again, I
wonder if technical books will even be competitive. Things change so fast
that books are almost stale by the time they're published. At the beginning
of the summer I went through all my books, and realized I had some that I
had bought within the last year or two but not gotten to read yet, but they
were already obsolete.

For example every year I take a week and re-read The C Programming
Language (Kernighan, Ritchie) as it's the gold standard to simply well
written texts. It's also a very good read.
o_O That was actually my first book, I bought it because it was the shortest
C book at Barnes and Noble. My opinion of it wasn't very high at that time.
I felt like there was some context or tacit information that would have
prevented me from getting past even the first chapter if I hadn't been able
to figure it out. Maybe I would like it more now, but I haven't felt
compelled to re-read it.

What books have you read that you still admire and refer to even after
all these years? The kind of books that you would love to be
altruistic and loan to your colleague or friend but fear it wont ever
get returned?
I liked The Pragmatic Programmer, but was probably still too novice to
appreciate most of it at the time I read it. Still, it was pretty
accessible, and very motivating. It makes you want to write good code.

I like Pragmatic Thinking and Learning, I actually reread the last 70 pages
a few days ago, and decided to set up a personal wiki as a result. It's
another motivating book. Makes you want to be productive, get shit done,
organize your life, encourage your creative side (R-brain in the book). I
got a lot of takeaways from this book, and even almost a year later, still
do (intermittently) some of the things they talk about in it. It also makes
a point to give you a mental model for your brain. And I think it gets
better as you go.

Peopleware, I read this b/c Joel Spolsky always talks about it. I found it
enlightening and encouraging. It's a short read, each chapter is pretty self
contained. I read about half of it one night instead of studying for
Chemistry :p It's about working together, managing teams, developing
software. A lot of attention is paid to environment, things like noise,
concentration, flow, lighting, furniture, etc. A lot about what makes a good
team, and how to avoid killing an otherwise good team. A lot of attention
paid to valuing people.

Rework, if you ever want to start a business. Even if not, there's a lot of
generalizable advice in it. I've probably read it three or four times now,
because each chapter is like a page long, and you can read the whole thing
in a car ride on the way to your next Ruby conference. I just toss it in my
bag, then when I'm waiting for an appointment, gives me something to do
while I wait. You can drop in anywhere and just go with it, literally.

When I took Java in school, I loved Absolute Java. At that time, it was a
perfect fit for me, and I learned so much from that book. I thought I'd keep
it for ever, but when I went through my books last month, I realized I'm
beyond it now, and it doesn't have anything for me any more, so I gave it to
the DAV. But I still think its a great starter book, it helped me understand
things like arrays and memory, and really grounded a lot of concepts for me.

I've read quite a few Ruby books, but none of them have really inspired me.
Eloquent Ruby might have if I'd read it two years ago (also had to deal with
DRM infested bullshit when I tried to buy the PDF from the publisher). The
RSpec book probably came the closest, but I didn't get a chance to finish it
because school started up again, I'm hoping to go through it again this
summer. The Pickaxe looks like it has a lot of great info in it, but I just
can't bring myself to sit down with a 1000 page book.

And lastly, Talion: Revenant, the only fiction book I like. I've read it
maybe 6 times, and try to loan it out to all my friends who read fiction
whenever I can. It's fantasy, so elves and magic and trolls and such. But it
doesn't drag you along an "epic journey" like most fantasy books in their
quest to copy Lord of the Rings. Instead, it tells two stories of the same
character, interleaving them with each chapter. The individual stories are
imagination candy, and I think each chapter gets better than the chapter
before it. But it also has strong character development, which really is
what made the biggest difference for me in the end.
 
S

Stu

Thank you for the responses. I look forward to reading others.

In effort to make a quick point about the K&R C book I do agree it is
terse. I also agree it's more a reference for a seasoned C programmer
than tutorial for an absolute beginner. If you remove the language in
context and simply read the prose it has to be one of the most well
written efforts to distill the authors knowledge and experience on the
subject of programming to the reader.

I am interested in books that do just that.

Since some Ruby books have been mentioned

If I was on a desert island and could take one ruby book with me The
Ruby Programming Language by Matsumoto/Flanagan would be what I would
pick. I have enjoyed reading Metaprogramming Ruby as well but Matz's
book seems to still have the longevity value.

I tend to enjoy reading Stroustrup's book on language creation.
Stroustrup tends to be a well skilled technical writer. I have in my
queue to read Meyers C++ books and Crockford's Javascript: The Good
Parts.

If a great book is in digital form only I'm all ears. I also read pdf
and web only books. In some cases to pre-view it for my library and
ultimately buy the print version if I feel it's worth owning. I read
the java version of 'How To Think Like A Computer Scientist' last year
solely off the pdf available drm free online. I plan to eventually
read the python and c++ version under the same title as those books
are pedagogical in lesson and theory.

So anyone responding to this thread. Please don't feel the need to
omit e-book or lulu DIY published books or even a well written web
based resource or article. Though I am interested in books that mainly
illuminate concepts I would be interested in hearing about the
tutorials where you may have had a massive ah-ha moment where
everything that seemed so difficult before or obfuscated became
simple. Books or literature that changed the way you programmed from
that point forward.
 
K

Kristofer M White

Probably obligatory, but The Mythical Man-Month was a pivotal point for my =
education.
--
Sent from my Android phone with K-9 Mail. Please excuse my b=
revity.


Thank you for the responses. =
I look forward to reading others.

In effort to make a quick point about th=
e K&R C book I do agree it is
terse. I also agree it's more a reference for=
a seasoned C programmer
than tutorial for an absolute beginner. If you rem=
ove the language in
context and simply read the prose it has to be one of t=
he most well
written efforts to distill the authors knowledge and experienc=
e on the
subject of programming to the reader.

I am interested in books th=
at do just that.

Since some Ruby books have been mentioned

If I was on a =
desert island and could take one ruby book with me The
Ruby Programming Lan=
guage by Matsumoto/Flanagan would be what I would
pick. I have enjoyed read=
ing Metaprogramming Ruby as well but Matz's
book seems to still have the lo=
ngevity value.

I tend to enjoy reading Stroustrup's book on language creat=
ion.
Stroustrup tends to be a well skilled technical writer. I have in my
q=
ueue to read Meyers C++ books and Crockford's Javascript: The Good
Parts.

=
If a great book is in digital form only I'm all ears. I also read pdf
and w=
eb only books. In some cases to pre-view it for my library and
ultimately b=
uy the print version if I feel it's worth owning. I read
the java version o=
f 'How To Think Like A Computer Scientist' last year
solely off the pdf ava=
ilable drm free online. I plan to eventually
read the python and c++ versio=
n under the same title as those books
are pedagogical in lesson and theory.=


So anyone responding to this thread. Please don't feel the need to
omit e=
-book or lulu DIY published books or even a well written web
based resource=
or article. Though I am interested in books that mainly
illuminate concept=
s I would be interested in hearing about the
tutorials where you may have h=
ad a massive ah-ha moment where
everything that seemed so difficult before =
or obfuscated became
simple. Books or literature that changed the way you p=
rogrammed from
that point forward.
 
A

Avdi Grimm

I always plug Code Complete. The advice on solid code construction in
that book never goes out of style.

Micheal Feather's "Working Effectively with Legacy Code" is the other
one I recommend all the time. Definitely one of those "why couldn't I
have had this book years ago?!" books.
 
R

Robert Klemme

What books have you read that you still admire and refer to even after
all these years? The kind of books that you would love to be
altruistic and loan to your colleague or friend but fear it wont ever
get returned?

I don't fear not getting books back but apart from that:

Object Oriented Software Construction
Bertrand Meyer
http://docs.eiffel.com/book/method/object-oriented-software-construction-2nd-edition

Denkfallen und Programmierfehler (in German)
Timm Grams
http://www.amazon.com/dp/3540520392

and maybe also

Mastering Regular Expressions
Jeffrey E.F. Friedl
http://oreilly.com/catalog/9780596528126/

Kind regards

robert
 
J

Jesús Gabriel y Galán

What books have you read that you still admire and refer to even after
all these years?

This is one book I've really enjoyed:

Clean Code
by Robert C. Martin

I has made think about code in a different (good) way and has given
the reasons and language to describe code I see and think it's bad,
and also the tools to make it better (this one and also Refactoring,
by Martin Fowler).

Jesus.
 
A

Albert Wagner

K&R and The Mythical Man Month have already been mentioned. I am
personally deeply sentimental about Smalltalk/V DOS from Digitalk: My
single greatest programming epiphany.
 
M

Markus Fischer

texts you have read that have influenced you in your lifetime.

The Deadline, Tom DeMarco; "A Novel About Project Management"

Definitely changed my live and perception of many things about software
development.

I find CS books usually not that entertaining to read due there dry
technical nature (don't understand this wrongly, I love 'em but they
serve me more as a reference), but this one I slung down like nothing.

- Markus
 
R

Robert Klemme

I don't fear not getting books back but apart from that:

Object Oriented Software Construction
Bertrand Meyer
http://docs.eiffel.com/book/method/object-oriented-software-construction-2nd-edition

At this place in the priority list I forgot:

The Mythical Man-Month
Fred Brooks
http://en.wikipedia.org/wiki/The_Mythical_Man-Month

Peopleware
Tom DeMarco and Timothy Lister
http://en.wikipedia.org/wiki/Peopleware:_Productive_Projects_and_Teams
Denkfallen und Programmierfehler (in German)
Timm Grams
http://www.amazon.com/dp/3540520392

and maybe also

Mastering Regular Expressions
Jeffrey E.F. Friedl
http://oreilly.com/catalog/9780596528126/

Cheers

robert
 
M

Mike Stok

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


=20
The Deadline, Tom DeMarco; "A Novel About Project Management"

Peopleware by DeMarco and Lister is a book I frequently force upon =
people, it changed the way I think about work in general.

Mike

- --=20

Mike Stok <[email protected]>
http://www.stok.ca/~mike/

The "`Stok' disclaimers" apply.




-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (Darwin)

iEYEARECAAYFAk3yIfQACgkQnsTBwAWZE9olBwCgr1ScMWMs16eFXBT1ILlk+4Bc
BCgAnjacJpPIcyOq6ebIiDzYes+9R2gr
=3DKZDc
-----END PGP SIGNATURE-----
 
R

Ruby Student

[Note: parts of this message were removed to make it a legal post.]

Well, I go back to the days when the series: "The Art of Computer
Programming" by Donald E. Knuth, was the standard and mandatory on my
school!
That was back on the mid to late '70s.
 
P

Patrick Lynch

I've been a software consultant for over 30 years and am still working at
it...just finished an assignment at a 'big-box' store. Here is my list:
RDBMS [Relational Database Management Systems]:
"The Relational Model for Database Management, Version 2" by E.F. Codd
"An Introduction to Database Systems, Volumes 1 and 2" by C.J. Date
"Relational Database Selected Writings" by C.J. Date
"A Guide to DB2" by C.J. Date and Colin J. White
"DB2 Design & Development Guide" by Gabrielle Wiorkowski and David Kull
"Principles of Database Systems" by Jeffry D. Ullman
"Relational Databases" by Chao-Chih Yang
"The Theory of Relational Databases" by David Maier
"Database System Concepts" by Henry F. Korth and Abraham Silberschatz
FP [Functional Programming]:
"Programming in Haskell" by Graham Hutton
"Learn You a Haskell for Great Good, A Beginner's Guide" by Miran Lipovaca
"Basic Category Theory for Computer Scientists" by Benjamin C. Pierce
OO [Object Oriented] :
"Object Technology" by David A. Taylor
"The Object Primer, Agile Model-Driven Development with UML 2.0" by Scott
W. Ambler
"Object-Oriented Software Construction" by Bertrand Meyer
Logic:
"Prolog Programming in Depth" by Micales A. Covington, Donald Nute and
Andre Vellino
"The Schemer's Guide" by Iain Ferguson witrh Edwared Martin and Burt
Kaufman
"Logic" by Patrick J. Hurley
"Logic, Sets & Numbers" by Roethel/Weinstein/Foley
"Introduction to Logic" by Patrick Suppes
"Programming in Prolog" by W.F. Cloksin and C.S. Mellish
"Introduction to Logic, Predicate Logic" by Howard Pospesel
"Logic for Mathmeticians" by A.G. Hamilton
"Introduction to Mathematical Logic" by Alonzo Church
"Symbolic Logic - Game of Logic" by Lewis Carroll [yes, he wrote "Alice in
Wonderland"]
"Sets, Logic and Axiomatic Theories" by Robert R. Stoll
"Logic, Algebra and Databases" by Peter Gray
Scripting Languages:
"Programming Perl" by Larry Wall, Tom Christiansen & Randal L. Schwartz
"Programming Ruby, The Pragmatic Programmer's Guide" aka "The Pickaxe
Book" by Dave Thomas with Chad Fowler and Andy Hunt
"Agile Web Development with Rails" by Sam Ruby, Dave Thomas and David
Heinemeier Hansson, etal
"Ruby on Rails 3 Tutorial" by Michael Hartl

My favorite language is Haskell - but I couldn't get it to 'go' with TCL or
on the Web...perhaps, I gave up on it a little too soon - it I were a bit
younger, I probably would have continued on with it...I do feel some regret
in leaving it...The hardest part of FP is learning Category Theory - I gave
a reference to it, but it too 'defeated me' - but supposedly, you don't need
to know it in order to do FP. I'm working with Ruby and Rails now...but I
may switch to F# and LINQ [and MS/Visual Studio and MS/SQL Server]...I like
'Ruby On Rails 3 Tutorial' - I purchased the book and the screencasts that
go along with it and am using a Mac [the screencast is a bit pricey though,
about $100]. There is an O'Reilly book on F# but I haven't read it yet...my
first impression of the F# syntax was a bit disappointing...

I hope this helps, good luck...
Pat















----- Original Message -----
From: "Stu" <[email protected]>
To: "ruby-talk ML" <[email protected]>
Sent: Thursday, June 09, 2011 6:18 PM
Subject: Classic Computer Science Books
 
P

Patrick Lynch

...you'll be please to know that the 'boxed set' of all four volumes of "The
Art of Computer Programming" is still being sold on Amazon...

----- Original Message -----
From: "Ruby Student" <[email protected]>
To: "ruby-talk ML" <[email protected]>
Sent: Friday, June 10, 2011 10:07 AM
Subject: Re: Classic Computer Science Books
 
R

Ryan Davis

I wanted to start a thread discussion on classic computer science
texts you have read that have influenced you in your lifetime. I am
always on the lookout to acquire books that last beyond the subject
matter where the concepts transcends the era in which it was initially
conceived and implemented. I am an avid collector of books and have an
collected several out of print gems or not available now in hardbacks
over the years as I enjoy collecting these texts for my library.
=20
For example every year I take a week and re-read The C Programming
Language (Kernighan, Ritchie) as it's the gold standard to simply well
written texts. It's also a very good read.

I like this category: what book(s) do you reread every year.

My annual reread book is The School of Niklaus Wirth: The Art of =
Simplicity

Others I love:

Compiler Construction, Wirth
Effective TCP/IP Programming: 44 Tips to Improve Your Network Programs
C Programming Language
The Annotated C++ Reference Manual (first and last good book on C++, =
besides meyers)
Structure and Interpretation of Computer Programs
The Little Schemer, The Seasoned Schemer, (and probably Reasoned =
Schemer, but I haven't gotten through that yet).
Performance and Evaluation of LISP Systems
LISP 1.5 Programmer's Manual
Lisp in Small Pieces
Bugs in Writing (best English book ever)
Smalltalk-80: The Language and its Implementation
Smalltalk With Style
The Design and Evaluation of a High Performance Smalltalk System (SOAR - =
best fucking book on objective profiling and optimization ever written)
Lions' Commentary on Unix
A Pattern Language: Towns, Buildings, Construction
The Timeless Way of Building
More Programming Pearls: Confessions of a Coder
Programming Pearls (ACM Press)
Writing Efficient Programs (Prentice-Hall Software Series)
Working Effectively with Legacy Code
The Pragmatic Programmer: =46rom Journeyman to Master
Writing Solid Code: Microsoft's Techniques for Developing Bug-Free C =
Programs
Code Complete
Secrets of Consulting: A Guide to Giving and Getting Advice Successfully
More Secrets of Consulting: The Consultant's Tool Kit
Thinking Forth
How to Write Parallel Programs: A First Course
Building Better Applications: A Theory of Efficient Software Development

Tao of Objects: A Beginner's Guide to Object-Oriented Programming -- is =
where I had my OO epiphany, but it was only 1 sentence that caused =
satori, so it doesn't really count for much more than sentimental value =
at this point.
 
S

Stu

Tao of Objects: A Beginner's Guide to Object-Oriented Programming -- is where I had my OO epiphany, but it was only 1 sentence that caused satori, so it doesn't really count for much more than sentimental value at this point.

I read The Tao of Objects as well. I think it's great that it's on
your list. Makes me not feel so old =)

Might flip through it later and maybe read a chapter or two.
 
A

Anurag Priyam

queue to read Meyers C++ books and Crockford's Javascript: The Good

If you are into JS, you might want to check out 'Pro Javascript
Techniques' by John Resig. Haven't read it myself, but its on my list
:).
 
S

Stu

Hello Anurag

Thank you for the reply. I am certainly interested in javascript
books. I am interested in books that you have read, learned from, and
consider a keeper. The best of the bunch. A book that influenced you
in such a way that changed the way you programmed from that point
forward. What's your favorite book?

~Stu
 
I

Ivan Cenov

[Note: parts of this message were removed to make it a legal post.]

The Design and Construction of Compilers, Robin Hunter, John Wiley &
Sons, 1984

--

Regards,

Ivan Cenov
OKTO-7 Co., Botevgrad, Bulgaria
(e-mail address removed), (e-mail address removed)
GSM: +359 888 76 10 80
phone: +359 723 6 61 20, +359 723 6 61 61
fax: +359 723 6 62 62
 
P

Patrick Lynch

...if you are into compilers, you'll like the 'Dragon Book', 'Principles of
Compiler Design' by Alfred V. Aho and Jeffrey D. Ullman...1977

----- Original Message -----
From: "Ivan Cenov" <[email protected]>
To: "ruby-talk ML" <[email protected]>
Sent: Saturday, June 11, 2011 6:41 AM
Subject: Re: Classic Computer Science Books
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,982
Messages
2,570,189
Members
46,735
Latest member
HikmatRamazanov

Latest Threads

Top