# Bad interfaces: education, not philosophy (reply to krixano) // 19-10-24 I've been to Munich on continued formation, visiting a part of Infineon (located at a place they call "Campeon", haha), and shortly at the "Deutsches Museum" (including a visit to DL0DM) with colleagues from work, for continued formation. Thanks to the train ride, I had some time for phlogging. [krixano][1] claims Unix programmers are coding in a way so as to make life simpler for themselves but not for their users. I beg to differ, because as far as I know, most of them also are the first users of their programs. The Unix philosophy is to have simple tools, which do one job well and can be combined for complicated tasks. This implies that users at the minimum know how to build pipes at the command line and how to work with files. In addition, it may lead them to scripting in the shell. Of course I agree there are a lot of questionable designs in the wild, and one should keep in mind what others might need, be it the next programmer working on the code or an end user. But in my opinion, it's not an inherent issue with the Unix philosophy, but of programmers not grasping the importance of good definition and implementation of interfaces -- for APIs and functions as well as CLI/GUI. Often, people also don't think enough before they talk and don't define well enough what they're talking about, which is a big source of misunderstandings and conflicts. So it's not a question of coding philosophy, but rather of good education in general. .:. [1]: gopher://zaibatsu.circumlunar.space:70/0/~krixano/phlog/102019_Unix.txt *written on PalmIII*