What are the best programming books around?
I am currently 15, studying in 10th grade in India. I have been experimenting with Semantic Web technologies since like the past 8 months or so. I want to improve my core skills and would be great if could get some recommendations for some good books. I am planning to read Don Knuth's TAOCP, is that the right way to go or should I start with another book?
16 comments
[ 1.6 ms ] story [ 62.7 ms ] threadOtherwise, TAOCP is a good book. MIT also offers some free course work at: http://ocw.mit.edu/courses/electrical-engineering-and-comput... and http://ocw.mit.edu/courses/electrical-engineering-and-comput...
Full list at http://ocw.mit.edu/courses/#electrical-engineering-and-compu...
Good luck! :)
6.033 Computer System Engineering: http://ocw.mit.edu/courses/electrical-engineering-and-comput...
6.823 Computer System Architecture: http://ocw.mit.edu/courses/electrical-engineering-and-comput...
6.828 Operating System Engineering: http://ocw.mit.edu/courses/electrical-engineering-and-comput...
http://ocw.mit.edu/courses/electrical-engineering-and-comput...
For the medium level, assembly language and on up a fair bit (at least to C), CMU's got what looks like a great course and book: http://www.cs.cmu.edu/~213/ There's enough meat on the web page for the course that it should give you an idea if you want to get the book.
For the higher levels, in addition to the MIT Computer System Engineering courses mentioned by Mithrandir (http://news.ycombinator.com/item?id=1850311), especially 6.033, check out this classic from the '70s: Lions' Commentary on UNIX 6th Edition, with Source Code (http://en.wikipedia.org/wiki/Lions%27_Commentary_on_UNIX_6th...).
Me and a lot of other people learned the basics from it, and while it's certainly dated, it has the advantage of being lucid and complete while not being too big or overwhelming, and of course nowadays if you want to go so far as running a Version 6 UNIX there are PDP-11 simulators that you can use for the purpose. I.e. it's a good foundation, like SICP is for languages and TAOCP is for algorithms (although there are less detailed and difficult books to get you started on algorithms that you might want to try first).
Good luck and enjoy!
http://stackoverflow.com/questions/78955/what-are-the-best-p...
The first is list of free online books, the second programming related blogs.
Fair warning, programming is a life long learning job. I am not trying to discourage you, but you need to understand that you will need to LIKE learning to be good at programming. Good Luck!
Also, you might consider looking at Don Knuth's book Concrete Mathematics, which is a somewhat more casual coverage of the math chapter in the first volume of TAOCP.
You mention in a comment that you want to learn software architecture. I really like this book:
http://www.amazon.com/Software-Architecture-Primer-John-Reek...
If you're into web applications at all, perhaps the best book to understand the basics of design is:
http://philip.greenspun.com/seia/
Either way, don't give up on TAOCP. Whether if you're ready for it now, or if you want to wait a few years, it's great that you're interested in reading it, and I would encourage you to study it as much as you can, if you discover that you are indeed intrigued by the topics it covers.
Many of my generation went Basic -> Assembly, and PHP -> C is not a dissimilar sequence.
http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html
You can get a lot out of SICP, if you take the time.