Classic Computer Science Books

For Unix, anything by the late great Richard Stevens. In particular:

  • Advanced Programming in the UNIX Environment
  • UNIX Network Programming, volume 1

For crypto: Bruce Schneier’s “Applied Cryptography”

For deep insight into parsers and compilers: “Compilers: Principles,
Techniques and Tools” by Aho, Sethi and Ullman

And of course Robert Sedgewick “Algorithms”. These books may be old but
they don’t date.

Regards,

Brian.

queue to read Meyers C++ books and Crockford’s Javascript: The Good
Parts.

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
:).

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

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

Regards,

Ivan Cenov
OKTO-7 Co., Botevgrad, Bulgaria
[email protected], [email protected]
GSM: +359 888 76 10 80
phone: +359 723 6 61 20, +359 723 6 61 61
fax: +359 723 6 62 62

…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

Good ones, all, so I won’t be repetitive.

The ‘why’ of language design and implementation: “Programming Language
Pragmatics” by Michael Scott

I’m currently being tasked to play C++ programmer, so I’m groking Booch
et al “Object Oriented Analysis and Design”, “UML Distilled” by Martin,
Stroustrop’s books and a nifty one called “C++ Template Metaprogramming”
by Abrahams and Gurtovoy.

Speaking of metaprogramming, “Metaprogramming Ruby” is well worth a
read. :smiley:

On Sat, Jun 11, 2011 at 9:44 AM, Wilde, Donald S
[email protected] wrote:

I’m currently being tasked to play C++ programmer, so I’m groking Booch et al
“Object Oriented Analysis and Design”

This was my first “Serious OO” text, and in retrospect I can’t
recommend it. Very dry, very dull, probably could have been stated in
half as many pages. It was one of those books that I had trouble
remembering anything I’d read the next day because it was so dull to
read. I wish I had started out with Bertrand Meyer. Or perhaps Rebecca
Wirfs-Brock; I’ve heard very good things about her approach.

Hey Stu,

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?

I am quite sure K&R is one, but since a lot of people had already
mentioned it, I didn’t bother. Gregory B.'s Ruby Best Practices
influenced my Ruby a lot.

I started programming in 8th grade with Robert Lafore’s Object
Oriented Programming in C++, and a year later Deitel and Deitel’s Java
How To Program. But it doesn’t really count for much more than
sentimental value at this point.

Apart from this I am not sure if a book has influenced me so much that
it changed the way I program. Its mostly been people who have
influenced me such, like one of my surrogate mentors in the previous
summer of code. But then I must admit, I haven’t read a lot either, or
written loads of code. I am still very much learning :).

I can add two more books to the list that I like a lot though:
Kernighan and Pike’s The Practice of Programming, and Peter Siebel’s
Coders at Work. I learned from them a lot, and consider them a keeper.

2011/6/14 Vincius [email protected]:

Wow, those are a lot of books, as a beginner programmer, I don’t have
a clue where to start from.

I’d recommend How To Design Programs [http://www.htdp.org/] as an
excellent first book. The authors have years of experience in teaching
computer science and programming, and have clearly put a lot of
thought into the presentation and development of the material.

martin

Wow, those are a lot of books, as a beginner programmer, I don’t have
a clue where to start from.

Wow, those are a lot of books, as a beginner programmer, I don’t have
a clue where to start from.

Practice of Programming.

Ruby S. wrote in post #1004380:

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.

Yes - Knuth’s book is the definitive one for the true art of
programming. It has no parallel.

In terms of understanding computers, I think ‘Code: The Hidden Language
of Computer Hardware and Software’ by Petzold covers the essentials well

  • knowing what a computer is, helps in using one.

And Brooke’s ‘Mythical Man-Month’ gives great insight into how to run
and manage computer projects. I like his own quote regarding his work
“like the Bible, it’s often quoted; rarely followed.”

I believe these three would provide any reader with an excellent bread
and depth of knowledge.

Martin DeMello wrote in post #1005278:

2011/6/14 Vincius [email protected]:

Wow, those are a lot of books, as a beginner programmer, I don’t have
a clue where to start from.

I’d recommend How To Design Programs [http://www.htdp.org/] as an
excellent first book. The authors have years of experience in teaching
computer science and programming, and have clearly put a lot of
thought into the presentation and development of the material.

martin

I would also second Martin on this suggestion. HDTP is an extremely
well written and informative book for somebody new to programming.
While a CS student at Northeastern, I took Felleisen’s class that was
based around this book.

I would also recommend:

The Well Grounded Rubyist by David Black
Structure and Interpretation of Computer Programs (The W.ard Book)
The C Programming Language - Kernighan & Ritchie

The Practice of Programming is a great book. Definitely worthy of
being in ones personal library.

On Tue, Jun 14, 2011 at 12:08:04PM +0900, Vincius wrote:

Wow, those are a lot of books, as a beginner programmer, I don’t have
a clue where to start from.

Do you want a specifically Ruby-oriented way to start, or just a way to
start programming in general? It’s easier to answer the first question
than the second, because people will disagree about the best way to
start
in general, while the lineup of available Ruby books is much more
manageable. Here’s my answer to how to make a specifically
Ruby-oriented
start:

10 Great Books And Other Resources For Learning R.
http://blogs.techrepublic.com.com/programming-and-development/?p=3886

There is a classic series online called “How to Think Like a Computer
Scientist”

You can use those to not only get some theory but also get into the
syntax of the languages in which you may be interested. Though the
ruby one of not complete you can use one of the other languages to
bridge the knowledge to ruby. I believe the book is available for
Java, C++, and Python. The Ruby one is apparently stillborn.

This series is “free” online with both html and pdf available. They
are canonical and pedagogical for beginners. This is a good place to
start IMHO.

2011/6/13 Vincius [email protected]:

Hey, I’m gonna check the links above

Thanks in advance!

On Thu, Jun 16, 2011 at 10:26 PM, Stu [email protected] wrote:

There is a classic series online called “How to Think Like a Computer Scientist”

This series is “free” online with both html and pdf available. They
are canonical and pedagogical for beginners. This is a good place to
start IMHO.

Please define “free”. Available as pirated copies, or in some format
that is a non-OSS/non-CC license, or what?


Phillip G.

A method of solution is perfect if we can forsee from the start,
and even prove, that following that method we shall attain our aim.
– Leibnitz

On Jun 16, 2011, at 13:33 , Phillip G. wrote:

On Thu, Jun 16, 2011 at 10:26 PM, Stu [email protected] wrote:

There is a classic series online called “How to Think Like a Computer
Scientist”

This series is “free” online with both html and pdf available. They
are canonical and pedagogical for beginners. This is a good place to
start IMHO.

Please define “free”. Available as pirated copies, or in some format
that is a non-OSS/non-CC license, or what?

Google quickly shows:

Think Java

which says:

On Fri, Jun 17, 2011 at 12:10 AM, Stu [email protected] wrote:

Free as in Freedom =)

As in Richard Stallman’s definition of “Free”

Which isn’t very free, just a cage in a different colour. :wink:


Phillip G.

A method of solution is perfect if we can forsee from the start,
and even prove, that following that method we shall attain our aim.
– Leibnitz