Para mim, a coisa mais surpreendente sobre a tradição UNIX é que o UNIX foi basicamente escrito por um cara - Ken Thompson enquanto estava no Bell Labs. Há um relato fascinante disso que pode ser encontrado aqui: http://www.bell-labs.com/history/unix/
Algumas citações não têm preço:
"Aloquei uma semana cada para o sistema operacional, o shell, o editor e o montador para se reproduzir ...", explicou Thompson.
Tubos:
Outra inovação do UNIX foi o desenvolvimento de pipes, que deu aos programadores a capacidade de encadear vários processos para uma saída específica.
Não foi fácil. "É muito fácil dizer 'gato em grep em ...' ou 'quem em gato em grep'", explicou McIlroy. "Mas existem todos esses parâmetros secundários que esses comandos possuem; eles simplesmente não têm argumentos de entrada e saída, mas eles têm todas essas opções".
Embora frustrado, McIlroy não abandonou a idéia. "E durante um período de 1970 a 1972, eu dizia de vez em quando: 'Que tal fazer algo assim?', E eu apresentava outra proposta, outra proposta, outra proposta. E um dia eu vim com uma sintaxe para o shell que acompanha a tubulação e Ken disse: 'Eu vou fazer isso!' "
"Ele estava cansado de ouvir essas coisas", explicou McIlroy. "Ele não fez exatamente o que eu havia proposto para a chamada do sistema de tubulação. Ele inventou uma ligeiramente melhor que finalmente mudou mais uma vez para o que temos hoje. Ele usou minha sintaxe desajeitada".
"Thompson viu que os argumentos dos arquivos não se encaixariam nesse esquema de coisas e ele entrou e mudou todos esses programas na mesma noite. Não sei como ... e na manhã seguinte tivemos essa orgia de um forros. "
" Ele colocou tubos no UNIX, colocou essa notação em concha, tudo em uma noite ", disse McElroy, maravilhado.
Por mais técnico que tenha sido a conquista, quando Thompson criou pipes, ele também colocou outra coisa no UNIX - uma filosofia.
Como McIlroy descreveu, "a filosofia que todos começaram a apresentar era 'Escreva programas que façam uma coisa e façam bem. Escreva programas para trabalhar juntos. Escreva programas que lidem com fluxos de texto, porque essa é uma interface universal'".