Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Are there any great programming or software development books that are language agnostic? Why should I read it?

share

locked by Thomas Owens Apr 13 '13 at 16:45

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

closed as not constructive by World Engineer, Thomas Owens, Caleb, Mark Trapp Nov 13 '11 at 15:40

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

3  
I think you should narrow your question to specific programming books. If you include software development, you open the door books including Software Project Survival Guide, A Discipline for Software Engineering, Waltzing with Bears, The Cathedral & The Bazaar, Software Architectures in Practice, Distributed Systems Concepts and Design, Software Requirements, Rapid Development...these are great and well-cited books that have everything to do with software development/engineering, but little to do with the actual programming of software. –  Thomas Owens Sep 1 '10 at 21:19
comments disabled on deleted / locked posts

10 Answers 10

The Pragmatic Programmer: From Journeyman to Master - Andrew Hunt and David Thomas

This book is all about how to write code that works and is maintainable. A key concept is being practical. Everything in the book is boiled down to 70 tips that are easy to remember that help you deliver better, higher-quality software.

share
add comment

Code Complete: A Practical Handbook of Software Construction by Steve McConnell

This book is probably the definitive book on software construction. It discusses topics such as the foundations for construction (requirements, architecture, and design), choosing a programming language, choosing a development methodology, designing classes and objects, writing high-quality functions and methods, defensive programming, the use and naming of variables, data types, organizing and formatting statements, collaborative programming, testing, debugging, refactoring, and development tools.

This is a must have on every software engineer's shelf, even if you aren't explicitly writing code.

share
1  
It's interesting that immutability isn't mentioned anywhere in the book. –  Jonas Sep 2 '10 at 8:49
1  
Wow. I just looked through the index - there isn't any mention of immutability. –  Thomas Owens Sep 2 '10 at 18:18
    
I think it's a great book and still well worth reading, but some bits (and ommissions) are beginning to date the book a little –  FinnNk Oct 17 '10 at 20:15
add comment

My favorite is: Structure and Interpretation of Computer Programs

It was my first academic text-book 10 years ago, and it still blows my mind how relevant it is in predicting trends in state of the art "Software Engineering", and programming in general.

It uses LISP for it's examples, but I don't consider LISP any kind of language, hence it's totally agnostic ;)

share
    
+1 for linking to an online book –  ixtmixilix Sep 12 '10 at 16:47
    
SICP, is just a wonderful book. One of these days I have to sit down and go threw the entire thing again, in a way I haven't in almost 20 years. –  Zachary K Feb 24 '11 at 15:11
add comment

Clean Code - Robert Martin

share
    
would you mind explaining about this in more detail - how and why does it answer the question asked? "Link-only answers" are not quite welcome at Stack Exchange –  gnat Apr 11 '13 at 6:10
add comment

The Mythical Man Month - Frederick P Brooks

This is a must have book for software developers. Most software development tomes talk about coding software, programming languages and the latest technologies and techniques to write software.

In "The Mythical Man Month" - Mr. Brooks tackles a more fundamental (IMO) aspect of software development - the social aspect. He addresses the problems faced in a major software project, from the problem of adding people, the second system effect, and the need for proper process.

This books is one that looks at programming from the perspective of making it an engineering discipline, something that can be used to engineer a large, complex piece of software.

share
add comment

Design Patterns. The patterns largely OOP-bent, but within OOP, they're pretty applicable to any language.

You should read it because it'll make you a better designer. It teaches you good ways to solve subsystem design problems that you might not have figured out until you'd been designing systems for 40 years. They're reusable solutions to semi-common problems. That said, there's a pattern that sophomores go through when they learn design patterns in school:

  1. Design patterns are kinda neat. I wonder how I can use them in this project I'm working on?
  2. Design patterns are 10x better than sliced bread! I'm gonna use'em everywhere!
  3. Ok, there is a time and a place for using specific patterns. Moderation is good.
  4. We should solve this problem with solution X. Oh right, that happens to be pattern Y. How 'bout that.
share
add comment

Domain-driven Design: Tackling Complexity in the Heart of Software
Eric Evans

Lots of high level concepts, its a pretty advanced book that I would not recommend to novice developers. If you are working on a large scale software project with lots of inter-dependencies, this is a great reference.

share
add comment

Code - Microsoft Press.

It's an excellent causal computer book that takes you from Morse code to Binary and back.

share
add comment

Test-Driven Development: By Example by Kent Beck.

A super introduction to TDD. Got me started on the TDD path. Code samples are Java, but the material is otherwise very language-agnostic.

share
add comment
  • Code Complete 2
  • Pragmatic Programmer
  • Design Patterns Explained
  • Writing Solid Code
  • Refactoring - Martin Fowler (He's got a few actually all worthwhile)
  • Clean Code
  • 97 things Programmers should know.

These are all books I've either read through completely or reread significant portions of a few times and are well put together. I'm a newcomer to programming as a whole so I've used these to get contextual understanding of what I should learn how to do.

Oh for the database stuff

  • The Art of SQL
  • Simply SQL
  • SQL For Smarties - Joe Celko
  • These all spring to mind off the top of my head, so forgive me for not recalling all the authors-I was on my way to another post about memorising syntax :).
share
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.