I remember my first introduction to Unix. It was at Harvard Extension in a Programming C in Unix course. I don’t even believe Minix had been invented yet, let alone Linux. Basically, my introduction to programming in Unix involved writing small, tight, do-one-thing-well programs — the programs assumed to be written in C — and tie those programs together with shell scripts. How true all that was, but appreciating its realization was to take nearly my entire career.
As I now maintain a two-year old Clojure program and a four-year old water AMR system. written in Python, it seems the choice of language is not what matters, but how everything was designed and implemented. It doesn’t hurt that Python encourages simple, clean function design and the creation and inclusion of modules, or that Clojure and leiningen highly encourage module design using projects, with their resulting name spaces and underlying directories. However, it all seems to be boil down to how I was taught to implement logic more than anything else.