Ir para o conteúdo
ou

Software livre Brasil

Encontro Mineiro de Software Livre

0 integrantes

Nenhum(a)

Nuvem de Marcadores

Tela cheia

Doug McIlroy e seus "pipes" na Latinoware 2010

29 de Setembro de 2010, 0:00 , por Software Livre Brasil - 0sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 394 vezes

Latinoware tem se preocupado, em todas as suas edições, em trazer para o evento a história do desenvolvimento da tecnologia e das bases que possibilitaram o desenvolvimento do software livre. No ano passado, tivemos as presenças, dentre outros, do historiador Peter Salus e do cientista Fred Brooks Jr., autor de livros seminais sobre a engenharia de software.

Neste ano temos, entre nossos keynotes, Doug McIlroy, dinossauro do sistema operacional Unix. Todos os que usam o Linux, se não conhecem o Doug, devem a ele um dos principais componentes do sistema: a capacidade de encadear comandos através do onipresente caracter "|". Afinal, quem nunca usou, em um terminal, um comando como "ls -la | grep more". O "|" é culpa do Doug.

Leia abaixo a entrevista exclusiva concedida por Doug à nossa equipe, talvez a mais "nerd" que já publicamos até este momento!

Latinoware: Doug, você é bastante conhecido na comunidade Unix como o "cara dos pipes". De fato, muitas pessoas concordam que todo o conceito de programação orientada a objetos tem a sua origem nos pipes (encadeamentos de comandos ou programas) do Unix. Como foi que você teve esta ideia?

Doug McIlroy: Fico lisonjeado pelo suposto crédito com relação à orientação a objetos, mas esta honra cabe a Dahl e Nygaard, que foram pioneiros neste conceito com a linguagem Simula, muitos anos antes do nascimento do Unix. Mesmo que eu tenha ficado intrigado com o tratamento de encadeamentos em sistemas para aplicações específicas, meu entusiasmo pelo processamento encadeado em geral começou em um momento "aha!", quando Bob McClure chamou minha atenção para o conceito de "corotinas", publicado em 1963 por Melvin Conway.

O termo destacou apropriadamente um choque entre a arquitetura de fluxo de dados e a estrutura de programas baseada em subrotinas. Eu havia lutado com fluxos de dados o suficiente para apreciar o chamado de Conway para pensar além dos limites do conceito de subrotinas. Percebendo que a proposta de um sistema operacional para o Multics seria um bom lar para a ideia de corotinas, sugeri que o Multics suportasse as conexões entre dispositivos de entrada e saída (I/O) e os processos, permitindo que estas conexões pudessem ser rearranjadas como "mangueiras de jardim". Um pacote com funções de conexão foi construído, mas ele nunca chegou a fazer parte do vocabulário de trabalho dos usuários do Multics. (Um mecanismo bastante genérico chamado de "communication files", criado de forma independente no Dartmouth College, sofreria com o mesmo destino).

Eu ainda pensava que as corotinas mereciam seu lugar no conjunto de ferramentas dos programadores e me divertia imaginando usos inovadores e sintaxes (não necessáriamente funcionais) para o que hoje nós chamamos de encadeamentos (pipelines). Quando o Unix surgiu, tentei persuadir Ken Thompson a fornecer a conexão direta entre processos e dispositivos, mas a ideia não caiu em seu gosto estrito até o dia em que surgi com o sugestivo nome "pipe" e uma sintaxe efetiva (mas desajeitda) para o shell. Aquilo finalmente parecia saboroso e o Ken criou a implementação naquela mesma tarde. A funcionalidade foi um sucesso instanâneo, não apenas para programadores. As secretárias de nosso departamento usavam pipes para combinar programas de processamento de texto exatamente da mesmo forma que um usuário Linux hoje pode digitar algo como groff | lpr.

Qual a razão pela qual os pipes "pegaram" e os métodos mais genéricos de comunicação entre processos e dispositivos dos sistemas de tempo compartilhado do Multics e de Dartmouth não pegaram? Eu terei muito mais o que falar sobre isto na Latinoware.

LW: O Unix é bastante velho, mas ainda sobrevive hoje nas várias implementações de sistemas operacionais Linux e BSD. Quais as principais razões da longevidade do Linux?

DM: Eu interpreto esta questão como uma referência à longevidade do modelo Unix, não apenas à encarnação adolescente do Linux. Emprestando o epigrama de Tony Hoare sobre o Algol 60, o Unix "não é apenas uma melhoria de seus predecessores, mas também de praticamente todos os seus sucessores". Seu objetivo central é fazer um computador mais acessível como um computador, enquanto a maioria de seus sucessores lutam em transformar o computador em um dispositivo para a execução de tarefas padrão. Esta diferença fez com que o Unix ganhasse a devoção apaixonada de amantes reais dos computadores, especialmente nas universidades.

A política de licenças relativamente liberal da AT&T semeou o Unix por toda a comunidade científica acadêmica. A linguagem de programação C conquistou seu espaço na programação de sistemas, infiltrou-se na indústria de informática e azeitou a entrada do próprio sistema operacional Unix em todos os tipos de computadores. Estas tendências garantiram tanto o mercado quanto o seu suprimento de software em uma grande variedade de usos. Com os computadores virando a teia da Internet, o Unix a permeou graças ao pioneirismo de Berkeley em desenvolvê-lo como o hospedeiro padrão da rede. O código aberto reforça, hoje, estas tendências católicas. Esta tendência seguirá adiante? A adoção do Unix pela Aple como a base de seu OSX aponta que sim, enquanto a tentativa do Gnome em mascarar o sistema Unix como um eletrodoméstico pode diluir a diferença que mantém o Unix vivo.

LW: Na Latinoware você dará uma palestra chamada "Melhor versus Maior". O que a público pode esperar de sua palestra?

DM: Eu espero elevar a percepção dos ouvintes sobre o implacável aumento da entropia no software e incentivá-los fortemente a resistir a isto. Enquanto faço isto, vou expandir um pouco mais o assunto levantado pelas questões e comentários acima.

LW: Esta será sua primeira vez na Latinoware. Quais suas expectativas com relação ao evento?

DM: Espero fazer amigos ao sul da linha do Equador e aprender sobre as influências latinas no estilo e conteúdo do software. Com certeza, o cenário onde acontece a Latinoware é de uma força poderosa!

Visite: http://www.latinoware.org

Caravanas Latinoware 2010 - Caso a sua cidade não tenha sido sorteada com uma caravana e você queira auto-patrocinar a sua entre em contato com siriaco@latinoware.org pois temos boas noticias.


Fonte: Marcos Siríaco Martins

0sem comentários ainda

Enviar um comentário

Os campos são obrigatórios.

Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.