Tuesday, February 24, 2009

Books to Read

Its always a good idea to read the books that matches your wavelength. I mean you should start with books that are intended for your level. Even if a book is very good check whether it matches your level before reading it. Now you may be asking me, "How do I find out that?". Its simple, if you are able to understand and appreciate the concepts explained in the book then we can say its at your level. Here I have listed some of the very good books that I have come across. Hope this will help you picking a right book for your level. The books are arranged in a order so that normally fist book would be to start with and can proceeded to other books to gain more depth and not too many entries are there which might interest you.

C:
1.Let Us C (Fifth Edition) - Yashavant P. Kanetkar
A good book to get started with, especially useful for college students. PDF version is available in the net, however its better to read the book version as this might be your first book. Available in PDF format in net.
2.The C programming Language – Brian W.Kernughan, Dennies M. Ritche
Also called as K&R book, written by author of C Language, this is like a bible for C. Better to have a hard copy for reference, recommended only after learning C from a basic book like the above one. Not a good idea to start with this book as every line contains lot of compressed information about the language. Available in PDF format in net.
3.Expert C Programming: Deep C Secrets - Peter van der Linden
Written by a Compiler writer at Sun Miscrosystems, a must for all professional C programmers. As the name suggests Deep C secrets are unrevealed, this book is written in a casual tone which encourages reading, even has some fun for you at the end of every chapter. Last chapter on C++ is a very good introduction to C++. Available in PDF format in net.
4.Linked Lists and Binary Trees – Stanford University tutorials
These are very useful compared to any book. Better to read them again and again before attending interviews in C. Available in PDF format and You can download it from Stanford university website.
Pointers and Memory
Linked List Problems
Binary Trees
5.C Programming FAQs: Frequently Asked Questions– Steve Summit
Answers to most commonly confused language constructs. Online version and hard copy is available. Good to read them once if you are facing a interview in C. Its called as comp.lang.c.
C FAQ

C++:
1.Let Us C++ - Yashavant P. Kanetkar
This is a good book to get started with If you like Let us C, then you can start with this for C++. Concepts are presented with simple examples (which might not be useful in programming problems) so that the concepts are well understood. Once you grasp the basics from this books, Its better to read another book which would present typical real world examples. The one below is very useful in that regard.
2.C++ Annotations - Frank B. Brokken
Online version is available, Concepts are presented very well I recommend this book.
C++ Annotations
You can get a PDF version as well.
3. Thinking in C++ - Bruce Eckel
This book is for a thirsty person who wants to know answers to why questions.If you are C programmer migrating to C++, then this book is for you. One of the best books interns of treatment of the subject. OOP concepts are explained very well in the first chapter and what a linker does is also demystified. PDF version can be downloaded from net:
Thinking in C++ download
Thinking in C: Foundations for Java & C++ - Chuck Allison
Its a flash-based audio-visual seminar which comes in CD with Thinking in C++ hardcopy or can be downloaded from Thinking in C download.
Is a very good seminar intro to C, its worth watching.
4.The C++ Programming Language - Bjarne Stroustrup
Written by author of C++ Language, its a nice reference. First chapter gives a very good overview of what C++ can do for you. If you are not able to understand this book better revisit after reading some other book suggested above.

Perl:
1.Essential Perl
This is not a book, this is a short tutorial to Perl. Perl is a kind of Language which you learn in few hours and start writing programs provided you are already familiar with a programming language like C. This tutorial serves that purpose. Just as 25 page PDF file, after which I am sure you will be able to write your first program for ant text processing task. You can download it from Stanford university website.
Essential Perl
2.Learning Perl - Randal Schwartz, Tom Christiansen & Larry Wall
Called as Lama book. Very good book for the Beginners. I recommend this book, concepts and Language are presented very well. Available in PDF format in net.
3. Mastering Regular Expressions - Jeffrey E. F. Friedl
Core logic of every perl program will be a regular expression (regex), mastering regex would help in so many ways, while you use a grep command or seacrh / replace a text in vim etc. Though regex can be treated as a language of its own, its normally associated with other languages, however only the syntax varies the core logic remains same. Languages like Perl, Java, .NET etc support regex. This is a vary good book, I don't think there is a better book for regex, reading this would make you life easy for so many problems otherwise you would have struggled. Available in PDF format in net (only 1st edition), better to have a hard copy of a Latest edition. Its a must to read.
4.Programming Perl - Larry Wall
Called as Camel book. This is an ultimate reference written by the author, not page by page reading required. You can refer this when needed. However initial chapters explains the design philosophy of perl which are good to know. Available in PDF format in net.

Unix:
1.The Unix Programming Environment - Brian W. Kernighan and Rob Pike
This is a very good book to learn Unix / Linux Sell. I recommend this book, the way things are presented in this book and systematic and easy to learn.

GSM:
1.The GSM System for Mobile Communications - M. Mouly and M. Pautet
For people who work on Mobile Side, this is a very good book to learn the Technology before dwelling into standards. Concepts are presented by answering Why they are needed?
2.GSM Networks: Protocols, Terminology, and Implementation - Gunnar Heine
I haven't read it completely. However I feel this book presents the network side concepts well. Its is good book for people working on the Network Side.

ARM:
1.ARM system-on-chip architecture – Steve furber
Very good book for knowing ARM from scratch. I was not from CSE background, still I was able to understand the concepts presented. Must for people who work in an embedded environment using ARM processor.

VIM:
A tutorial that comes with VIM is the best thing to get started with once you are used to it. May be you can read the PDF version of the book available in vim.org website: The Vim book by Steve Oualline.

No comments:

Post a Comment