4 ms·
The philosophy itself is solid. The implementation is another matter. The only reason to go monolithic is because of technical limitations or commercial and fin
by d_tr 4y ago
The philosophy itself is solid. The implementation is another matter. The only reason to go monolithic is because of technical limitations or commercial and financial considerations IMO.
- naikrovek 4y ago> The philosophy itself is solid. For some things, yes. For ad-hoc stuff, composability is amazing. Once in awhile I need to use a wrench to fix my car, and I have a whole array of wrenches to accommodate most needs I have with that car. I would never drive the car with a wrench still in place holding something together, and that's what the Unix philosophy promotes: take all these small tools which each do their thing and create some larger "grander-purpose" software with them. That works if you need to do a one-time (or at least infrequent) analysis of some raw text, but I have learned over and over to not rely on the passing of plain text between programs for anything that you need to work later on. Something always changes which breaks it. Always. Maybe not for a year, but some update happens which subtly changes the output of a command which breaks stuff down the line. With typed data checking and compiled applications (the opposite of passing untyped text between individual tools) I can easily account for errors before they happen, and rely on tests which exercise these things, and gain significant performance improvements over piped single-purpose tools, in less time overall.
- d_tr 4y agoI fully agree about the problems and limitations with plain text and the lack of structure and types. It was the composability aspect of the philosophy I had in mind.