Entrevista com Yukihiro “Matz” Matsumoto – Parte 1

A RubyConf China 2012 aconteceu em Shanghai nos dias 17 e 18 de novembro. Graças a um tweet, tive acesso a uma tradução para o inglês de uma entrevista realizada com o grande Yukihiro “Matz” Matsumoto, cientista da computação japonês responsável pela criação da linguagem de programação Ruby. A entrevista foi realizada pelo tradutor Zi Heng Zhou. A tradução para o inglês foi feita por Fred Wu e pode ser acessada em seu blog.

Na entrevista, Matz fala sobre seu novo livro The Future of Computing (infelizmente, disponível apenas em japonês por enquanto), sobre a criação de Ruby, sobre o futuro da programação e sobre projetos interessantes da comunidade Ruby (como MRuby, uma implementação minimalista da linguagem com foco em micro-dispositivos, tais como celulares, equipamentos médicos e robôs).

A tradução para o Português é de minha autoria. Não sou tradutor profissional, mas fiz o máximo para manter alta fidelidade em relação à versão em inglês. Pelo fato da entrevista ser grande, resolvi dividir ela em duas três partes. A segunda parte será lançada segunda que vem. Espero que gostem!

Zhou: O novo livro do Sr. Matsumoto, The Future of Computing, foi lançado mais recentemente neste ano e está sendo traduzido para o chinês para ser publicado no ano que vem, em data ainda indeterminada. O seu livro anterior, The World of Code, recebeu grandes elogios dos leitores chineses. Qual é a diferença entre esse livro e o seu novo lançamento?

Matz: The World of Code tem 14 tópicos no total, e cada tópico cobre o básico – eles cobriram mais amplitude do que profundidade. O novo livro, por outro lado, tem um tópico definido – reflexões sobre as tecnologias emergentes no futuro, por isso o campo coberto é mais estreito e com maior profundidade do que o último livro. Além disso, o novo livro discute muitas coisas por escala temporal, tais como a história e as mudanças desde a invenção da computação, e o impacto da computação no futuro de nossas vidas. Por isso, são pensamentos tanto do passado como do futuro. O mundo da computação está mudando rapidamente, e o propósito deste novo livro é discutir a direção que a computação está tomando para o futuro.

Zhou: Falando sobre a história da computação, você tocou em alguns pontos relacionados com a lei de Moore neste último lançamento, certo?

Matz: A lei de Moore descreve a regra de mudança durante a história do hardware. O livro discute não só as mudanças na computação por si só, mas também as mudanças nos ambientes que a cercam.

Zhou: Sobre o tópico da evolução das linguagens de programação, Paul Graham disse em The Hundred-Year Language que os principais galhos da árvore evolutiva passam pelas linguagens que possuem os menores, mais enxutos núcleos. No novo livro você parece sustentar uma opinião diferente. Você pode nos dizer o porquê? E qual é sua posição a respeito da evolução das linguagens de programação?

Matz: Paul ama Lisp e Lisp bate perfeitamente com as características das linguagens de programação descritas em sua dissertação, e por isso Paul calcula que as linguagens de programação daqui a 100 anos vão se parecer com Lisp. Na realidade entretanto, Lisp está por aí há mais de 50 anos, e para ser honesto não é uma das linguagens populares. Na minha opinião, isso pode ter acontecido porque a maior parte dos programadores não acha Lisp suficientemente charmosa. Em outras palavras, há uma lacuna entre as linguagens tão chamadas de “menores, mais enxutos núcleos”, “bonitas”, e a expectativa dos programadores. Seria compreensível se o charme de Lisp não tivesse sido aceito por todos em um ou dois anos, mas por mais de 50 anos não ter se tornado popular, será que não poderia ser por fundamentalmente não ter correspondido à nossa expectativa? Existe uma enorme diferença entre linguagens amigáveis ao ser humano e linguagens que possuem os “menores, mais enxutos núcleos”, e eu receio que a lacuna entre elas pode não se fechar mesmo em 100 anos. Em relação a como futuras linguagens de programação irão se parecer, eu acho que elas terão um modelo de runtime semelhante ao de Lisp e serão facilmente compreensíveis por humanos. De repente, Ruby se parece muito mais próxima disso, não é?

Zhou: Sr. Matsumoto, você é o pai de Ruby. Nós sabemos que durante o design de uma linguagem de programação pode haver diferentes decisões a serem tomadas, tal como se a linguagem terá tipagem dinâmica ou estática, se vai ser baseada em protótipos ou classes etc. Quando você estava criando Ruby, qual foi a decisão mais difícil que você teve de tomar?

Matz: Antes de Ruby, eu na verdade já havia criado outra linguagem de programação enquanto estava na universidade, e essa linguagem tinha tipagem estática, similar a Eiffel. Eu gostava de linguagens com tipagem estática, mas a que criei durante a universidade era mais para propósitos acadêmicos. Então, eu criei Ruby e acho que foi a decisão correta [ter escolhido tipagem dinâmica] – pode não ter sido a decisão mais difícil, mas foi certamente a maior decisão. Agora que a decisão de ser uma linguagem dinâmica havia sido tomada, linguagens como Smalltalk, Lisp e até um certo ponto Perl tiveram influências em Ruby. Ruby oferece mixins, e mixins não eram muito comuns na época em que Ruby foi criada. Mas porque eu não gosto de herança múltipla, eu sempre acreditei que deveria existir um caminho mais fácil para se atingir resultados semelhantes, então eu desenvolvi mixins em Ruby.

Zhou: Olhando para trás, há algo em Ruby que você gostaria de ter feito diferente?

Matz: No começo meu objetivo era substituir Perl como minha ferramenta de trabalho, então eu peguei emprestado várias ideais de Perl, tal como usar o cifrão ($) para definir variáveis especiais. Olhando agora para Ruby, ela me parece um pouquinho exagerada e muito semelhante a Perl. Há algumas outras coisas, mas principalmente eu acho que ela é muito semelhante a Perl. Naquela época, antes dos Ruby idioms serem formados, haviam muitas coisas que foram emprestadas de Perl. Hoje, eu acho que muitas dessas coisas [emprestadas de Perl] não são mais necessárias graças aos idioms de Ruby e de Ruby on Rails.

-> Ir para a Parte 2

Anúncios

4 pensamentos sobre “Entrevista com Yukihiro “Matz” Matsumoto – Parte 1

  1. Marcelo dezembro 4, 2012 às 1:21 PM Reply

    Parabéns Alex e boa sorte com seu blog.

    • alexbrahastoll dezembro 4, 2012 às 3:15 PM Reply

      Valeu, Marcelo! Espero que eu tenha determinação de buscar sempre conteúdo interessante para ir atraindo mais e mais leitores =)

  2. […] China 2012 com o criador de Ruby, Yukihiro “Matz” Matsumoto. Para ler a parte 1, clique aqui. A tradução para o Português é de minha autoria e a entrevista em Inglês pode ser lida no blog […]

  3. […] e a versão em Inglês pode ser lida no blog de Fred Wu. Se você perdeu as outras partes, clique aqui para acessar a parte […]

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: