A discipline of programming Edsger W. Dijkstra
Publisher: Prentice Hall, Inc.
I think "A Discipline of Programming", " Formal Development of Programs and Proofs" or "A Method of Programming" by Edsger W. In fact, Dijkstra should go at the top, followed by Knuth. TDD is a discipline for programmers like double-entry bookkeeping is for accountants or sterile procedure is for surgeons.. The most common excuse is that "a cluttered desk is a sign of a brilliant mind. It is well known that programmers generally abhor organization and discipline. That's not accidental — I think that, even in as fast-moving a discipline as programming, it takes time for a book to establish itself as a classic; and the really good books are timeless. Today, I presented a position paper entitled “Programming Can Deepen Understanding Across Disciplines”. They are reasonably easy to reproduce and can be debugged using standard methods (code coverage). Van Wijngaarden, persuaded him that in the years to come he could be one of the people to make programming a respectable discipline. - Uncle Bob, The Pragmatics of TDD. The reaction of these teams suggested their levels of discipline with various practices. Dijkstra should be included here. Still, if the only problems were deterministic access violations, I could live with them (I'm a very disciplined programmer). First, if your programmer is not disciplined, Perl is almost guaranteed to give you spaghetti code. 'The Pragmatic Programmer' isn't about a particular language or development environment, but it teach programmers how to think about programming as a discipline. Their desks are often littered with stacks of paper and other debris. Perl is also great for those who are experienced and disciplined programmers who want to build large systems.