I'll confess that I have only recently just heard about this book and I recently bought it after reading it for free online because of how much I liked it. Honestly, I wish this had been a required textbook in my com sci classes.
I've only recently started to force myself to stay in the bash prompt...whenever I saw my coworkers type out scripts in this mode, I had roughly the same reaction as I did when seeing my mom's printouts of COBOL code: look at those old people with their old tricks.
The Art of Unix Programming, and the too few books similar to it, have been profoundly helpful in helping me understand that UNIX is a steadfast way of doing things...and even if much of the code and utilities are decades old, concepts like "Programs should do one thing well" and "Separate policy from mechanism; separate interfaces from engines" are in, retrospect, part of contemporary object-oriented thought...but there's something significantly more tangible to how they're implemented in UNIX.
Of course, it's more than just a happy coincidence that UNIX tools are decades old and are yet still some of the best tools for the job...you can't ignore that the "UNIX Way" has something to do with that longevity. But given the practical usefulness of UNIX tools, combined with their educational value...I wish UNIX shell work was a core component of my college classes. Unfortunately, we immediately started working in Visual C++ and Eclipse...both of which are nice...but if you never use them again as a professional, the work of learning to navigate them was wasted...whereas the few things I learned in UNIX will seem to be around for a very long time.
I've only recently started to force myself to stay in the bash prompt...whenever I saw my coworkers type out scripts in this mode, I had roughly the same reaction as I did when seeing my mom's printouts of COBOL code: look at those old people with their old tricks.
The Art of Unix Programming, and the too few books similar to it, have been profoundly helpful in helping me understand that UNIX is a steadfast way of doing things...and even if much of the code and utilities are decades old, concepts like "Programs should do one thing well" and "Separate policy from mechanism; separate interfaces from engines" are in, retrospect, part of contemporary object-oriented thought...but there's something significantly more tangible to how they're implemented in UNIX.
Of course, it's more than just a happy coincidence that UNIX tools are decades old and are yet still some of the best tools for the job...you can't ignore that the "UNIX Way" has something to do with that longevity. But given the practical usefulness of UNIX tools, combined with their educational value...I wish UNIX shell work was a core component of my college classes. Unfortunately, we immediately started working in Visual C++ and Eclipse...both of which are nice...but if you never use them again as a professional, the work of learning to navigate them was wasted...whereas the few things I learned in UNIX will seem to be around for a very long time.