Tuesday, September 15, 2009

Recommended Books for Programmers

Hi Friends,

As per my Knowledge, Following are the Recommended books (Technical reference) to become successful Developer or Programmer. I had a lot of discussions with my Lecturers, my colleagues and Technical Experts  to get opinions about recommeded books for programmers before i composed this Blog. Basically I added this list of books after i had gone through lot of forums .
Hope this blog helps you a lot in finding useful Books to become good programmers and It will be benefit you in day to day life. 
Please provide me any feedback by your comments or any valuable suggestions.


Concepts of Programming Languages by Robert W. Sebesta
A thorough introduction to the main constructs of contemporary programming languages and the tools needed to critically evaluate existing and future programming languages. KEY TOPICS: Evolution of the Major Programming Languages; Describing Syntax and Semantics; Lexical and Syntax Analysis; Names, Bindings, Type Checking, and Scopes; Data Types; Expressions and Assignment Statements; Statement-Level Control Structures; Subprograms; Implementing Subprograms; Abstract Data Types and Encapsulation Constructs; Support for Object-Oriented Programming; Concurrency; Exception Handling and Event Handling; Functional Programming Languages; Logic Programming Languages 


The Pragmatic Programmer: From Journeyman to Master  by Andrew Hunt, David Thomas
Programmers are craftspeople trained to use a certain set of tools (editors, object managers, version trackers) to generate a certain kind of product (programs) that will operate in some environment (operating systems on hardware assemblies). Like any other craft, computer programming has spawned a body of wisdom, most of which isn't taught at universities or in certification classes. Most programmers arrive at the so-called tricks of the trade over time, through independent experimentation. 


Code Complete, by Steve McConnell
For more than a decade, Steve McConnell, one of the premier authors and voices in the software community, has helped change the way developers write code--and produce better software. Now his classic book, CODE COMPLETE, has been fully updated and revised with best practices in the art and science of constructing software. Whether you're a new developer seeking a sound introduction to the practice of software development or a veteran exploring strategic new approaches to problem solving,  Topics include design, applying good techniques to construction, eliminating errors, planning, managing construction activities, and relating personal character to superior software.


Refactoring: Improving the Design of Existing Code by Martin Fowler, Kent Beck, John Brant
With proper training a skilled system designer can take a bad design and rework it into well-designed, robust code. In this book, Martin Fowler shows you where opportunities for refactoring typically can be found, and how to go about reworking a bad design into a good one. Each refactoring step is simple-seemingly too simple to be worth doing. Refactoring may involve moving a field from one class to another, or pulling some code out of a method to turn it into its own method, or even pushing some code up or down a hierarchy. 


Structure and Interpretation of Computer Programs by Harold Abelson, Gerald Jay Sussman
Structure and Interpretation of Computer Programs has had a dramatic impact on computer science curricula over the past decade. This long-awaited revision contains changes throughout the text. There are new implementations of most of the major programming systems in the book, including the interpreters and compilers, and the authors have incorporated many small changes that reflect their experience teaching the course at MIT since the first edition was published. 
The Practice of Programming by Brian W. Kernighan, Rob Pike
The practice of programming is more than just writing code. Programmers must also assess tradeoffs, choose among design alternatives, debug and test, improve performance, and maintain software written by themselves and others. At the same time, they must be concerned with issues like compatibility, robustness, and reliability, while meeting specifications.



About the Author

I am currently working as Senior Developer at CISCO Systems, India.
I Pursued M.Tech degree in Computer Science from V.T.U, Bangalore and B.Tech in Computer Science from Nagarjuna University.

My Hobbies are Coding , Watching TV, Listening to music.
Reach me at naresh.master3@gmail.com