HN Books @HNBooksMonth

The best books of Hacker News.

Hacker News Comments on
Software Tools in Pascal

Brian W. Kernighan, P.J. Plauger · 2 HN points · 3 HN comments
HN Books has aggregated all Hacker News stories and comments that mention "Software Tools in Pascal" by Brian W. Kernighan, P.J. Plauger.
View on Amazon [↗]
HN Books may receive an affiliate commission when you make purchases on sites after clicking through links on this page.
Amazon Summary
With the same style and clarity that characterized their highly acclaimed The Elements of Programming Style and Software Tools, the authors have written Software Tools in Pascal to teach how to write good Pascal programs that make good tools. The programs contained in the book are not artificial, but are actual tools that have proved valuable in the production of other programs. Structured programming and top-down design are emphasized and applied to every program, as are principles of sound design, testing, efficiency, and portability. All of the programs are complete and have been tested directly from the text. The programs are available in machine-readable form from Addison-Wesley. Software Tools in Pascal is ideal for use in a software engineering course, for a second course in programming, or as a supplement in any programming course. All programmers, professional and student, will find the book invaluable as a source of proven, useful programs for reading and study. Numerous exercises are provided to test comprehension and to extend the concepts presented in the book.
HN Books Rankings

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this book.
Nov 28, 2019 · 2 points, 0 comments · submitted by mpiedrav
I found it very interesting for being one of the very few books that deals with code as a formal system.

You don't need to understand the code; you don't need to step through the code. You follow the steps for "extract method" and you go from a working state to another working state with no worries.

The individual refactorings are more-or-less interesting, but as others have said, they're somewhat commonplace now.

Two books that every programmer should read: Software Tools[1] and The Elements of Programming Style[2] by Kernighan and Plauger. Bonus: The Unix Programming Environment[3] by Kernighan and Pike.

[1] https://www.amazon.com/Software-Tools-Pascal-Brian-Kernighan...

[2] https://www.amazon.com/Elements-Programming-Style-2nd/dp/007...

[3] https://www.amazon.com/Unix-Programming-Environment-Prentice...

slobotron
Would you recommend "Software Tools in Pascal" vs the original?
mcguire
Either. The details aren't especially relevant in either case. I just picked one.
pmarin
The original one in written in RATFOR with no structures/records or recursion which make some of the programs more complicated than they should. It easy to find the two versions on Internet.

They describe the design and implementation of many of the classic unix tools. Nowadays it is posible to learn the same principles by reading the userland source code of BSD or Plan9.

Dec 27, 2017 · todd8 on How I learned to program
First, keep solving problems. Mathematical brainteasers got me started problem solving when I was in grade school. I really like Martin Gardner's books[1] and those by Robert Smullyan[2]. These kinds of problems develop the flexibility of thought that helps find creative solutions.

Actual, specific approaches to tackling tough problems are taught by the famous Hungarian mathematician George Polya in his classic book How to Solve It [3].

Discrete Mathematics is a field that covers a number of areas, but especially in counting problems (from combinatorics) and graph theory there are a number of results that are not hard to grasp but lead to beautiful solutions for real problems. There are many powerful theorems and principles in discrete math that will unlock seemingly impossible problems. Unfortunately, the books for this subject are mostly written for math majors that are interested not only the application of these results but how to prove them and consequently the books may not appeal to everyone. Perhaps something like Schaum's Outline of Discrete Mathematics would suitably cover the way to apply some of the important theorems without bogging down in the proofs.

Finally, I think there is value in doing small interesting programming projects. Two older books, available used, with interesting projects are Etudes for Programmers by Wetherell [5] and Software Tools in Pascal by Kernighan and Plauger [6]. Etudes has my favorite exercise for trying out new programming languages, building an interpreter for the simple TRAC programming language; Software Tools has a number of programs in Pascal that do interesting things, try implementing the programs in your programming language--they cover a range of difficulties and the book has a nice discussion for each that explains why the programs are structured the way they are.

A more advanced book, Structure and Interpretation of Programming Languages, available as a downloadable pdf [7] is a classic book for those wanting to become better programmers.

[1] https://www.amazon.com/Martin-Gardner/e/B000AP8X8G/ref=sr_tc...

[2] https://www.amazon.com/Raymond-M.-Smullyan/e/B000AQ1NF0/ref=...

[3] https://www.amazon.com/How-Solve-Mathematical-Princeton-Scie...

[4] https://www.amazon.com/Schaums-Outline-Discrete-Mathematics-...

[5] https://www.amazon.com/Etudes-Programmers-Charles-Wetherell/...

[6] https://www.amazon.com/Software-Tools-Pascal-Brian-Kernighan...

[7] http://web.mit.edu/alexmv/6.037/sicp.pdf

gspetr
Thank you for this list, greatly appreciated.
Software Tools in Pascal. There was a previous version with examples written in something called Ratfor, which from what I've read is a hybrid of fortran and C. http://www.amazon.com/Software-Tools-Pascal-Brian-Kernighan/...
cema
Ratfor, if my memory serves me well, was a set of macros which sort of turned Fortran into a simplified C. Better read the Pascal book, the language (Pascal) would be easier to follow.
HN Books is an independent project and is not operated by Y Combinator or Amazon.com.
~ yaj@
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.