On Wed, Jun 25, 2014 at 12:38:01PM -0500, M Farkas-Dyck wrote: > Computers are meant to do tedious work for us. That includes us who > program them. The appropriate metric of code quality, ergo, is how > much easier it makes one's life. To this end, mental costs trump > technical costs by far. > > A reusable component with well-specified interfaces makes my life much > easier, for I need not reimplementate that functionality each time I > need it, and it works uniformly across all usage sites, which means > less to remember. Even if it takes more computer time, to a point I > care not, for computer time is cheap and my time is costly. > > Make is such a component. I needn't care how many files I need to > build; I just write a makefile and it does so. > > You clearly deem a shell an acceptable technical cost, tho itself not > a simple program. C compilers and OS kernels are yet other technical > costs. I use all these programs as they give me a uniform common > interface to launching and connecting programs, machine code > generation for various architectures, and the machine itself. > > Losses arise when components cause more grief than they're worth. Make > itself is easy to build and use. GNU autoshit ain't; its mental costs > due to nonuniform interfaces and other faults are too great.
Thanks for this.