Discover new books on Goodreads
Meet your next favorite book
Essential Books of Computer Science
Great books for computer scientists!
Score
A book’s total score is based on multiple factors, including the number of people who have voted for it and how highly those voters ranked the book.
1 |
Introduction to Algorithms
by
4.35 avg rating — 9,248 ratings
|
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
2 |
Structure and Interpretation of Computer Programs
by
4.47 avg rating — 4,829 ratings
|
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
3 |
The C Programming Language
by
4.44 avg rating — 11,195 ratings
|
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
4 |
The Art of Computer Programming, Volumes 1-3 Boxed Set
by
4.50 avg rating — 768 ratings
|
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
5 |
Design Patterns: Elements of Reusable Object-Oriented Software
by
4.20 avg rating — 11,852 ratings
|
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
6 |
The Pragmatic Programmer: From Journeyman to Master
by
Andy Hunt (Goodreads Author)
4.33 avg rating — 23,632 ratings
|
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
7 |
Introduction to the Theory of Computation
by
4.24 avg rating — 2,094 ratings
|
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
8 |
Windows 11: 2021 Complete New OS User Guide. 33 Best Tips and Tricks to Master your PC
by
Allan Farington (Goodreads Author)
4.45 avg rating — 40 ratings
|
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
9 |
Code: The Hidden Language of Computer Hardware and Software
by
4.40 avg rating — 10,390 ratings
|
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
10 |
The Mythical Man-Month: Essays on Software Engineering
by
4.01 avg rating — 14,901 ratings
|
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
11 |
Artificial Intelligence: A Modern Approach
by
4.20 avg rating — 4,400 ratings
|
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
12 |
Code Complete: A Practical Handbook of Software Construction
by
Steve McConnell (Goodreads Author)
4.30 avg rating — 9,440 ratings
|
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
13 |
TCP/IP Illustrated, Vol. 1: The Protocols (Addison-Wesley Professional Computing Series)
by
4.32 avg rating — 1,302 ratings
|
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
14 |
Algorithms
by
4.42 avg rating — 1,813 ratings
|
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
15 |
Compilers: Principles, Techniques, and Tools
by
4.10 avg rating — 3,007 ratings
|
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
16 |
Introduction to Automata Theory, Languages, and Computation
by
4.06 avg rating — 668 ratings
|
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
17 |
Advanced Programming in the UNIX Environment
by
4.34 avg rating — 1,721 ratings
|
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
18 |
Concrete Mathematics: A Foundation for Computer Science
by
4.34 avg rating — 1,857 ratings
|
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
19 |
The Algorithm Design Manual
by
Steven S. Skiena (Goodreads Author)
4.34 avg rating — 2,672 ratings
|
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
20 |
Learn You a Haskell for Great Good!: A Beginner's Guide
by
4.31 avg rating — 2,370 ratings
|
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
21 |
Computer Systems: A Programmer's Perspective
by
4.46 avg rating — 1,115 ratings
|
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
22 |
A Discipline of Programming
by
4.22 avg rating — 181 ratings
|
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
23 |
The Little Schemer
by
4.29 avg rating — 1,978 ratings
|
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
24 |
Programming Pearls
by
4.20 avg rating — 3,212 ratings
score: 842,
and
9 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
25 |
The Society of Mind
by
4.04 avg rating — 3,335 ratings
score: 767,
and
9 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
26 |
The Elements Of Computing Systems: Building A Modern Computer From First Principles
by
4.54 avg rating — 940 ratings
score: 742,
and
8 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
27 |
Clean Code: A Handbook of Agile Software Craftsmanship
by
4.36 avg rating — 23,082 ratings
score: 681,
and
7 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
28 |
Hacker's Delight
by
4.20 avg rating — 1,136 ratings
score: 658,
and
7 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
29 |
The Psychology of Computer Programming
by
4.07 avg rating — 602 ratings
score: 654,
and
7 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
30 |
Joel on Software
by
4.13 avg rating — 3,376 ratings
score: 647,
and
7 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
31 |
Introduction to System Design
by
Shivam Singh (Goodreads Author)
4.18 avg rating — 40 ratings
score: 599,
and
6 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
32 |
The UNIX Programming Environment
by
4.24 avg rating — 1,309 ratings
score: 570,
and
6 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
33 |
The Art of Computer Programming, Volume 1: Fundamental Algorithms
by
4.38 avg rating — 1,884 ratings
score: 566,
and
6 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
34 |
Applied Cryptography: Protocols, Algorithms, and Source Code in C
by
4.21 avg rating — 2,133 ratings
score: 565,
and
6 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
35 |
Feynman Lectures On Computation
by
4.25 avg rating — 474 ratings
score: 562,
and
6 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
36 |
A First Course in Logic: An Introduction to Model Theory, Proof Theory, Computability, and Complexity
by
4.36 avg rating — 22 ratings
score: 555,
and
6 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
36 |
An Introduction to Functional Programming Through Lambda Calculus
by
Greg Michaelson (Goodreads Author)
4.13 avg rating — 224 ratings
score: 555,
and
6 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
38 |
Chaos: Making a New Science
by
James Gleick (Goodreads Author)
4.03 avg rating — 40,417 ratings
score: 504,
and
6 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
39 |
Fundamental Kotlin
by
4.23 avg rating — 39 ratings
score: 500,
and
5 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
40 |
What Is Life? with Mind and Matter and Autobiographical Sketches
by
4.13 avg rating — 7,554 ratings
score: 489,
and
6 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
41 |
Refactoring: Improving the Design of Existing Code
by
4.24 avg rating — 8,781 ratings
score: 487,
and
5 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
42 |
Pro Git
by
4.17 avg rating — 3,380 ratings
score: 484,
and
5 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
43 |
Structured Computer Organization
by
4.04 avg rating — 586 ratings
score: 470,
and
5 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
44 |
Quality Software Management: Systems Thinking
by
4.30 avg rating — 102 ratings
score: 469,
and
5 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
45 |
Database System Concepts
by
3.76 avg rating — 556 ratings
score: 465,
and
5 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
46 |
An Introduction to Database Systems
by
3.92 avg rating — 373 ratings
score: 457,
and
5 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
47 |
The Fractal Geometry of Nature
by
4.23 avg rating — 1,277 ratings
score: 455,
and
5 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
48 |
Computability and Unsolvability
by
3.84 avg rating — 32 ratings
score: 449,
and
5 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
49 |
Just Enough Tech: All the technical knowledge you need to succeed in any Tech industry interview
by
Shivam Singh (Goodreads Author)
4.29 avg rating — 7 ratings
score: 397,
and
4 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
50 |
Operating Systems: Three Easy Pieces
by
Remzi H. Arpaci-Dusseau (Goodreads Author)
4.71 avg rating — 761 ratings
score: 388,
and
4 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
51 |
Algorithm Design
by
4.17 avg rating — 648 ratings
score: 385,
and
4 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
52 |
The Code Book: The Science of Secrecy from Ancient Egypt to Quantum Cryptography
by
4.30 avg rating — 28,616 ratings
score: 379,
and
4 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
53 |
Basic Proof Theory (Cambridge Tracts in Theoretical Computer Science, Series Number 43)
by
3.91 avg rating — 11 ratings
score: 378,
and
4 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
54 |
Computational Complexity
by
3.90 avg rating — 142 ratings
score: 375,
and
4 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
55 |
Computability and Logic
by
4.13 avg rating — 165 ratings
score: 365,
and
4 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
56 |
Computability Theory (Chapman Hall/CRC Mathematics Series)
by
4.17 avg rating — 18 ratings
score: 362,
and
4 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
57 |
Waltzing With Bears: Managing Risk on Software Projects
by
Tom DeMarco (Goodreads Author)
3.98 avg rating — 777 ratings
score: 361,
and
4 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
58 |
The Quark and the Jaguar: Adventures in the Simple and the Complex
by
3.84 avg rating — 1,781 ratings
score: 346,
and
4 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
59 |
Sync: The Emerging Science of Spontaneous Order
by
Steven H. Strogatz (Goodreads Author)
4.07 avg rating — 3,266 ratings
score: 345,
and
4 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
60 |
Linked: How Everything Is Connected to Everything Else and What It Means for Business, Science, and Everyday Life
by
Albert-László Barabási (Goodreads Author)
3.94 avg rating — 5,203 ratings
score: 311,
and
4 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
61 |
Engines of Creation: The Coming Era of Nanotechnology
by
4.18 avg rating — 931 ratings
score: 300,
and
4 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
62 |
Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
by
Martin Kleppmann (Goodreads Author)
4.70 avg rating — 10,105 ratings
score: 294,
and
3 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
63 |
The Annotated Turing: A Guided Tour Through Alan Turing's Historic Paper on Computability and the Turing Machine
by
4.27 avg rating — 1,156 ratings
score: 287,
and
3 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
64 |
Elements of the Theory of Computation
by
3.92 avg rating — 118 ratings
score: 279,
and
3 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
65 |
Exploring Requirements: Quality Before Design
by
3.81 avg rating — 133 ratings
score: 274,
and
3 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
65 |
The IT Handbook for Business, Managing Information Technology Support Costs
by
4.23 avg rating — 13 ratings
score: 274,
and
3 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
65 |
Reviewing Java
by
really liked it 4.00 avg rating — 6 ratings
score: 274,
and
3 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
65 |
Six Degrees: The Science of a Connected Age
by
3.90 avg rating — 1,184 ratings
score: 274,
and
3 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
65 |
C: A Reference Manual
by
4.18 avg rating — 311 ratings
score: 274,
and
3 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
70 |
Communication Networks: Fundamental Concepts and Key Architectures
by
4.19 avg rating — 53 ratings
score: 271,
and
3 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
71 |
Reviewing C++
by
3.43 avg rating — 7 ratings
score: 270,
and
3 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
72 |
Debugging: The 9 Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems
by
David J. Agans (Writing as)
4.25 avg rating — 488 ratings
score: 263,
and
3 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
73 |
The Shape of Inner Space: String Theory and the Geometry of the Universe's Hidden Dimensions
by
3.99 avg rating — 836 ratings
score: 254,
and
3 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
74 |
Does God Play Dice?: The New Mathematics of Chaos
by
4.02 avg rating — 1,695 ratings
score: 253,
and
3 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
75 |
The Cosmic Landscape: String Theory and the Illusion of Intelligent Design
by
4.15 avg rating — 2,830 ratings
score: 247,
and
3 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
75 |
The Strangest Man: The Hidden Life of Paul Dirac, Mystic of the Atom
by
4.01 avg rating — 7,426 ratings
score: 247,
and
3 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
77 |
The Book of Nothing: Vacuums, Voids, and the Latest Ideas about the Origins of the Universe
by
3.96 avg rating — 1,218 ratings
score: 222,
and
3 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
78 |
Machine Learning with Neural Networks: An In-depth Visual Introduction with Python: Make Your Own Neural Network in Python: A Simple Guide on Machine Learning with Neural Networks.
by
really liked it 4.00 avg rating — 174 ratings
score: 200,
and
2 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
79 |
Scratch 2.0 Programming
by
Denis Golikov (Goodreads Author)
4.39 avg rating — 57 ratings
score: 199,
and
2 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
80 |
Cracking the Coding Interview: 150 Programming Questions and Solutions
by
Gayle Laakmann McDowell (Goodreads Author)
4.33 avg rating — 6,887 ratings
score: 198,
and
2 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
81 |
C Primer Plus
by
4.15 avg rating — 264 ratings
score: 196,
and
2 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
81 |
Discrete Mathematics and its Applications
by
3.89 avg rating — 1,530 ratings
score: 196,
and
2 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
83 |
Purely Functional Data Structures
by
4.14 avg rating — 669 ratings
score: 191,
and
2 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
83 |
The Sciences of the Artificial
by
4.30 avg rating — 649 ratings
score: 191,
and
2 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
83 |
Computer Organization & Design: The Hardware/Software Interface
by
3.97 avg rating — 1,690 ratings
score: 191,
and
2 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
86 |
Modern Operating Systems
by
4.15 avg rating — 2,180 ratings
score: 190,
and
2 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
87 |
OOP Concepts Booster : Take Your Coding Skills to the Next Level
by
3.69 avg rating — 16 ratings
score: 189,
and
2 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
88 |
Slack: Getting Past Burnout, Busywork, and the Myth of Total Efficiency
by
Tom DeMarco (Goodreads Author)
4.01 avg rating — 1,616 ratings
score: 188,
and
2 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
88 |
Lambda-Calculus and Combinators: An Introduction
by
3.83 avg rating — 23 ratings
score: 188,
and
2 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
88 |
Lambda-calculus, Combinators and Functional Programming (Cambridge Tracts in Theoretical Computer Science, Series Number 4)
by
liked it 3.00 avg rating — 6 ratings
score: 188,
and
2 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
91 |
Design And Validation Of Computer Protocols
by
3.81 avg rating — 16 ratings
score: 187,
and
2 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
92 |
High Performance Browser Networking
by
Ilya Grigorik (Goodreads Author)
4.51 avg rating — 840 ratings
score: 186,
and
2 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
93 |
File Structures: An Object-Oriented Approach with C++
by
3.88 avg rating — 105 ratings
score: 176,
and
2 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
94 |
Journey through Genius: The Great Theorems of Mathematics
by
4.22 avg rating — 2,947 ratings
score: 174,
and
2 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
95 |
IBM and the Holocaust
by
4.04 avg rating — 1,843 ratings
score: 169,
and
2 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
96 |
Concepts, Techniques, and Models of Computer Programming
by
4.10 avg rating — 244 ratings
score: 167,
and
2 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
97 |
Structure and Interpretation of Computer Programs
by
4.47 avg rating — 4,829 ratings
score: 164,
and
2 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
98 |
The Meme Machine
by
3.86 avg rating — 4,220 ratings
score: 160,
and
2 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
99 |
A History of π
by
3.94 avg rating — 2,828 ratings
score: 139,
and
2 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
|
100 |
The Hidden Dimension
by
4.03 avg rating — 1,536 ratings
score: 126,
and
2 people voted
![]() |
Error rating book. Refresh and try again.
Rate this book
Clear rating
|
Darklight
65 books
2 friends
2 friends
Michael
709 books
286 friends
286 friends
Nick
2654 books
467 friends
467 friends
Stephan
0 books
1 friend
1 friend
Xiachenfeng
21 books
0 friends
0 friends
Andreas
20 books
2 friends
2 friends
Kristjan
3851 books
562 friends
562 friends
sepans
158 books
55 friends
55 friends
More voters…
Comments Showing 1-4 of 4 (4 new)
date
newest »


(a) you need a basic theory book, but Sipser's not necessarily better than Hopcroft/Ullman, and certainly less complete regarding automat..."
also: "Artificial Intelligence, a Modern Approach"? ummm, how about a 2 page handout on game trees, A* search and SVM's?

databases are for accountants, the DMV and the sex offenders' office, certainly not elite coders GASP! relational databases are the backbone of nearly all dynamic websites! (it is true however that if you're using one, you definitely not doing any elite coding).
I feel like only 1 programmer in 100 can write efficient code these days. In the last 4 years, despite hardware getting faster, the same programs are running slower than they did and people are doing much less (computationally) than they used to with more powerful machines.

A story: My junior year, I took the intro to databases class at GT (CS4400), because they canceled my fucking graduate automata theory class in developments that can ultimately be traced back to the introduction of GUIs and people no longer a new assembly language every few years (in a Cormac McCarthy-like future, this will all change, and we'll also get to eat people). In one of those passive-aggressive bits of responsible behavior that so pockmarked my undergraduate career, I didn't bother attending until the first test. This wasn't so irregular as it was SOP -- what for textbooks, after all, if not autodidactically-freed time to explore massive SGI machines from the underwear-beclad comfort of one's weedful dorm?
Problem was, I'd forgotten to purchase the book, and knew no one in my class...it was an unpleasant night indeed, studying random things about databases, SQL, etc via undirected google searches. I entered with trepidation.
30 questions, multiple-choice (wtf? only CS class I can remember with multiple-choice) on the relational algebra. I read it through, not really knowing any terms, thinking I'll probably just drop the class...but as it turned out, assuming logical coherency in the questions and answers, there was only one likely, consistent assignment of semantics. I quickly reverse-engineered the selections, the projections, the joins and the closures, marked down my answers, and triumphantly departed for a nice Chianti and some fava beans.
Saying this list needs a databases book is like saying it needs a book on predicate calculus, which is like saying it needs a book on real analysis, which is like saying it needs The Elements of Programming and that rather than CS degrees we all ought get math degrees (one ought, of course, get both). Taken the other direction, it's like saying we need a book on scrotumtightening perl and a lab practicum with Windows NT.
What were we talking about? Sorry, I rant in my old age.
of nearly all dynamic websites!
I must admit to never having worked on a "dynamic website"; if I were to build such a thing, I'd almost certainly do it as a C apache module, and initiate the project by rewriting apache =D. Just for fun, from an old classic:
Where does the typical Real Programmer work? What kind of programs are worthy of the efforts of so talented an individual? You can be sure that no Real Programmer would be caught dead writing accounts-receivable programs in COBOL, or sorting mailing lists for People magazine. A Real Programmer wants tasks of earth-shaking importance (literally!).
* Real Programmers work for Los Alamos National Laboratory, writing atomic bomb simulations to run on Cray I supercomputers.
* Real Programmers work for the National Security Agency, decoding Russian transmissions.
* It was largely due to the efforts of thousands of Real Programmers working for NASA that our boys got to the moon and back before the Russkies.
* The computers in the Space Shuttle were programmed by Real Programmers.
* Real Programmers are at work for Boeing designing the operation systems for cruise missiles.
Some of the most awesome Real Programmers of all work at the Jet Propulsion Laboratory in California. Many of them know the entire operating system of the Pioneer and Voyager spacecraft by heart. With a combination of large ground-based Fortran programs and small spacecraft-based assembly language programs, they are able to do incredible feats of navigation and improvisation-- hitting ten-kilometer wide windows at Saturn after six years in space, repairing or bypassing damaged sensor platforms, radios, and batteries. Allegedly, one Real Programmer managed to tuck a pattern matching program into a few hundred bytes of unused memory in a Voyager spacecraft that searched for, located, and photographed a new moon of Jupiter.
The current plan for the Galileo spacecraft is to use a gravity assist trajectory past Mars on the way to Jupiter. This trajectory passes within 80 +/- 3 kilometers of the surface of Mars. Nobody is going to trust a Pascal program (or Pascal programmer) for navigation to these tolerances.
I feel like only 1 programmer in 100 can write efficient code these days. In the last 4 years, despite hardware getting faster, the same programs are running slower than they did and people are doing much less (computationally) than they used to with more powerful machines.
It's a damn shame. Then again, for that lucky 1%, you're now able to accomplish things you couldn't dream of 10 years ago -- combinatorial stuff like protein folding and tilings, thermonuclear simulations at the particle level in six degrees of freedom, moving around 10Gbps of Ethernet on COTS, supporting hundreds of unimaginably bloated ruby/php processes in just a few gigabytes of RAM LOL.... =D
Check out Network Algorithmics: The Design of Fast Network Devices and Hacker's Delight. Hackin' ain't dead punk fuckin' rock!
you're alright, MICHAEL
Related News
The temperatures are dropping, the days are getting shorter, and the fall book season is nearly upon us. (If you’re reading from the southern...
Anyone can add books to this list.
How to Vote
To vote on existing books from the list, beside each book there is a link vote for this book clicking it will add that book to your votes.
To vote on books not in the list or books you couldn't find in the list, you can click on the tab add books to this list and then choose from your books, or simply search.
(a) you need a basic theory book, but Sipser's not necessarily better than Hopcroft/Ullman, and certainly less complete regarding automata and languages. anyone hoping to be less more than a theory tyro needs at least Computers and Intractability, Approximation Algorithms, Randomized Algorithms and a satchel's worth of math books
(b) I have to list APIUE because I felt we needed an operating systems book, but also a practicum, and also something on design; a thorough study of APIUE provides all 3, and also one of the most useful reference books around. but it feels a bit applied for this list.
(c) since you're trying to minimize your votes (so as not to list overly many), there's an emphasis on broad coverage (ie this felt more like "5-7 computer science books to bring to a desert island surrounded by a faraday cage and anechoic wall") -- hence the mandatory inclusion of Knuth and Leon-Garcia (Knuth covers algorithms broadly enough by himself to free up a CLR-ish slot, and you have to know something about networks or you won't be able to piss in modern buildings, let alone write code)
but what about...language design and lambda calculus? the former's too diverse. regarding the latter, only one book could possibly deserve the nod (Barendregt's The Lambda Calculus), but i doubt 5 people worldwide read the fucker in a given Year of our LORD.
what about architecture? hell, the single most important things any systems programmer will need to know for the next twenty years are:
- power wall and thus multi/many-core
- memory subsystems aka Keep your Willy in your Pants and your Data in your Cache
hell, the first question i ask almost every interviewee is "here is a data structure. optimize it for cache, which will be parameterized to you thusly". if they don't get that, they're shown the door.
what about GUIs and databases? well, frankly, GUIs nauseate me and databases are for accountants, the DMV and the sex offenders' office, certainly not elite coders (writing databases is something else entirely). so fuck 'em.
computer graphics ought just be called "graphics math" to cut down on confusion. books about triangles are beyond the scope of this enumeration, unless it's computational geometry for integer programming problems and loop optimization in compilers. numerical computing's the same kinda deal, just harder.