I’ve just discovered ProgrammingBooks.org and I find it great. I’m impatient to start contributing to it
as soon as they solve their user signup problem as it is not working well presently.
In the meantime, here are three books I bought relatively recently and which I find excellent:
The second edition of Programming Ruby is extremely interesting to read (the first version is available freely online). It describes the Ruby programming language of course as well as its standard library. Ruby is an extremely expressive programming language as it allows the programmer to solve complex problems very easily. I’ve already written about my fascination with that programming language. The metaprogramming aspects of Ruby will blow your mind away!
Linux Kernel Development fully describes (and explains the rationale behind) the various subsystems found in the Linux 2.6 kernel. It’s one extremely complex and specialized subject that has been made simple thanks to the pedagogical talent of the author. Incidentally, my students have indirectly benefited from that book in the sense that I know a lot more about the kernel than before. Consequently I regularly ask them to investigate sections of the Linux kernel (e.g. the scheduler or the process creation mechanism) and write reports for me…
The third book is also another book that I’ve read cover to cover. The Inmates are Running the Asylum has an obscure title (at first) and it’s only when the author explains its meaning that you realize that this book is a gem. The Inmates are us, programmers. And the Asylum is the software that we are always trying to write. The point is that we, programmers, design the user interface of a software in order to please us and not the real end-user. Consequently, the software becomes difficult to use for the majority and therefore is not successful. The author argues that one should always use a goal-directed design approach. Incidentally, the author is the creator of Visual Basic but he does not like to use it to design user interfaces… I’ve already written on that.
Ah, the great ‘The Inmates are Running the Asylum’! If you’ve been hanging around the programming books corner of the UOM library, you’d be quite surprised to find 3 barely borrowed copies.
It ranked among the first ‘recent’ tech books I borrowed from the very poor collection of computer-related books there and I remember it includes chapters devoted to usability, programming culture, code reuse,our persona (if I’m still good at remembering what it was really about) without going into gory and excessive details.
Other books I’d put to your list:
1. MIT Press – Introduction to Algorithms, 2nd Edition (the best to learn and even still learn from algorithm book of all)
2. The Mythical Man Month (Classic – otherwise don’t even think of obtaining your degree without having even heard of it. A must have for everyone joining the programming sphere)
3. Prentice Hall – Core Java (Both volumes since it’s replete with what you need to get started with the Java language).
Classics… I have many of them. Let’s see, I have:
* Data Structures & Algorithms by Aho, Hopcroft & Ullman
* Programming Pearls by Bentley
* Compilers by Aho, Sethi & Ullman
* How to design programs by Felleisen & al
* The C Programming Language by Kernighan & Ritchie
* The C++ Programming Language by Stroustrup
* The Mythical Man Month by Brooks
* OOA&D by Booch
* Design Patterns by Gamma & al
* AI: A modern approach by Russel & Norvig
+ books by Tannenbaum
I’m happy :-)
quote by Avinash Meetoo: Linux Kernel Development
My Favourite, Robert Love is a great author. I love this book, he treats it the way i like it.. Lmao, specially when he explains about the death of a child process.. lmao.. something like treatingthe child like a human.. lmao that was funny to read.
also, on Process termination he says ” It is sad, but eventually processes must die…” hahaha
what i am reading for the moment:
UNIX Network Programming, Networking APIs: Sockets and XTI by W. Richard Steven
Security in Computing by Fleeger.