Для меня самое удивительное в традиции UNIX заключается в том, что UNIX был в основном написан одним парнем - Кеном Томпсоном в Bell Labs. Об этом можно узнать здесь: http://www.bell-labs.com/history/unix/.
Некоторые цитаты просто бесценны:
«Каждую неделю я выделял операционной системе, оболочке, редактору и ассемблеру для воспроизведения себя», - пояснил Томпсон.
Трубы:
Еще одним нововведением UNIX стала разработка каналов, которая дала программистам возможность связывать воедино несколько процессов для конкретного вывода.
Это было нелегко. «Очень легко сказать« кошка в grep в ... »или« кто в кошку в grep », - объяснил Макилрой. «Но есть все эти побочные параметры, которые есть у этих команд; у них просто нет входных и выходных аргументов, но у них есть все эти опции».
Макилрой, несмотря на тупик, не отказался от этой идеи. «И в период с 1970 по 1972 год я время от времени говорил:« Как насчет того, чтобы сделать что-то подобное? », И я выдвигал другое предложение, другое предложение, другое предложение. И однажды я пришел с синтаксисом для оболочки, которая сопровождала трубопровод, и Кен сказал: «Я собираюсь сделать это!»
«Он устал слышать это», - объяснил Макилрой. «Он не сделал именно то, что я предложил для системного вызова pipe. Он изобрел немного лучшую, которая, наконец, снова изменилась на то, что мы имеем сегодня. Он использовал мой неуклюжий синтаксис».
«Томпсон увидел, что аргументы файла не будут соответствовать этой схеме вещей, и он вошел и изменил все эти программы в одну и ту же ночь. Я не знаю как ... и на следующее утро у нас была одна оргия -liners «.
« Он поместил трубы в UNIX, он поместил эту запись в оболочку, все за одну ночь» , - удивленно сказал МакЭлрой.
С технической точки зрения, когда достижение Томпсона создавало каналы, он также вложил в UNIX что-то еще - философию.
Как сказал Макилрой, «философия, которую все начали выдвигать, заключалась в том, чтобы« писать программы, которые делают одно и делают это хорошо. Пишите программы для совместной работы. Пишите программы, которые обрабатывают текстовые потоки, потому что это универсальный интерфейс »».