Conversa com Randal L. Schwartz

April 30th, 2008 § 7 comments

Durante o FISL, eu tive a oportunidade de assistir a palestra sobre Seaside dada por Randal L. Schwartz, nome famoso nas comunidades livres, principalmente de Perl, e que agora está evangelizando Seaside e Smalltalk.

Perguntei se podíamos conversar um pouco e ele aceitou graciosamente. O resultado está abaixo, em uma tradução livre:

Conte-nos um pouco sobre o seu background, como e quando você começou a programar e o que você está fazendo hoje

Eu aprendi a programar sozinho quando tinha nove anos. Quando cheguei aos quinze, já estava na frente de uma classe, ensinando meus colegas, e escrevendo código sob contrato durante os fins de semana e sendo pago de verdade.

Trabalhei para várias empresas ao longo de oito anos antes de criar a Stonehenge em 1985. A Stonehenge cresceu ao longo dos anos; nós hoje podemos contar 17 das empresas no Fortune 100 como nossos clientes.

Hoje eu gasto a maior parte do meu tempo dando palestras e escrevendo, mas ainda projeto, crio e revejo código também. Também respondo questões gratuitamente durante uma hora por dia nas dezenas de listas, blogs e comunidades Web das quais participo.

Você é extremamente famoso na comunidade Perl, mas agora está advogando Smalltalk e Seaside. O que mudou? Quando você realmente começou a usar Smalltalk?
Eu comecei a usar Smalltalk antes de Perl ser inventada, em 1982. Já escrevi sobre a história no meu blog.
Quais são as vantagens de Smalltalk sobre outras linguagens tradicionais como Perl, Ruby ou Python, por exemplo?

Smalltalk tem uma sintaxe muito simples: eu posso ensinar a sintaxe completa a alguém em cerca de 20 minutos, e, de fato, a incluo em minhas palestras introduzindo as pessoas ao Seaside. As principais implementações Smalltalk (com exceção de GNU Smalltalk) também possuem IDEs maduros permitindo a fácil exploração do código, de modo que aprender as bibliotecas é somente uma questão de olhar a implementação e uso das mesmas

E isso também é um bônus: nós temos duas implementações comerciais (Cincom e GemStone/S) e duas abertas (Squeak e GNU Smalltalk), todas suportando Seaside. Isso permite que gerentes mais preocupados, que podem hesitar ao selecionar uma linguagem estritamente suportada por voluntários, escolherem entre dois provedores comerciais para suporte. Opções são sempre boas!

Você acha que Smalltalk finalmente vai alcançar status mainstream, isto é, ganhar aceitação do mercado em geral?

Bem, Smalltalk tinha status mainstream no meio dos anos 90, logo antes de Java entrar na história, pelo menos do que tange a firmas grandes de Wall Street e outras instituições que desejavam desenvolvimento rápido de GUIs para ficar à frente da competição.

Mas sim, eu acredito que Smalltalk está posicionada para entrar o mercado novamente como um grande player. Para mais detalhes, veja meu artigo sobre O Ano do Smalltalk.

Sua palestra tinha o título, “Seaside: Seu Próximo Framework Web”. O que há de tão interessante sobre o Seaside?

Eu gosto da forma como Seaside consegue abstrair tanto o fluxo de controle (ao longo de um eixo) e a representação (ao longo do outro eixo) com relativa facilidade. Seaside parece colocar as coisas certas relacionadas perto uma das outras. Eu também gosto do “depure uma página com erro dentro da própria página”: quando algum erro aconteceu, eu posso explorar a situação dentro do depurador normalmente, consertar o que está quebrado, limpar a bagunça, e continuar a execução da página como se nada houvesse acontecido.

Da mesm forma, a persistência tradicional em Rails é feita através do Active Record, que requer que objetos passem por um mapeador objeto-relacional para chegar em SQL. Seaside pode fazer a mesma coisa (via GLORP), mas possui soluções melhores pulando inteiramente o mapeamento, e usando coisas como Magma (OODBMS), que é aberto, ou algo como GemStone/S Virtual Machine, que é comercial. Quando você tira a camada ORM, voc&e ganha muita velocidade e um ambiente de programação bem mais confortável.

O que você vê no futuro do Seaside, e como esse futuro se compara ao dos outros frameworks?
A equipe do Seaside está agora no processo de refatorar e re-empacotar o Seaside para tornar a portabilidade ao longo de várias plataformas algo mais facilmente gerenciável e modular. Isso permitirá que cada desenvolvedor use somente as partes que desejar. Eu também estou vendo vários add-ons sendo criados, como o Pier CMS e várias APIs para coisas como Google Graphs e assim por diante.
Você acha que o mercado está pronto para o Seaside?
Sim. O Rails reabriu as discussões sobre o que fazer em um mundo após o Java, voltando para linguagens com late-binding como Perl, Python e Smalltalk. E Seaside é um framework maduro, ainda mais velho do que Rails. Somente não tão conhecido. Eu espero mudar isso.
Você já colocou algo em produção com o Seaside? Se sim, quais foram os desafios?
Eu estou trabalhando em alguns projetos agora, mas nada público. O desafio inicial foi a relativa falta de documentação, o que me forçou a gastar dois dias passando por todos os e-mails na lista de discussão. Fiquei mais informada, mas definitivamente com os olhos cansados. Eu espero devolver esse conhecimento escrevendo em meu blog e ajudando a responder questões no IRC e lista de discussão.
Você agora é parte do Squeak Foundation Board. Quais são seus planos para a Squeak Foundation?
Minha preocupação primária agora são questões de licenciamento, controle das releases e publicidade. Todas essas questões já estão sendo trabalhadas, é claro, mas todos somos voluntários e sempre estamos procurando mais voluntários para ajudar.
A Squeak Foundation tem algum plano para Seaside?
Nada formal, até onde eu sei. Entretanto, como Squeak é a plataforma primária para desenvolvimento do Seaside, eu tenho certeza de que Seaside será um componente principal nesse área.
Quais são os planos mais interessantes dentro do mundo Smalltalk/Seaside atualmente?
Bem, o que me envolve no momento é o GLASS (GemStone/Linux/Apache/Seaside/Squeak), uma solução da GemStone para que pessoas possam conseguir rodar Seaside rapidaemnte. Isso também envolve levar o pessoal da GemStone a criar uma solução comercial de custo zero, mas ainda funcional (mesmo que de forma mais limitada) do GemStone/S. Com essa versão gratuita, uma pessoa poderá construir um negócio, e quando o negócio exceder as capacidades da versão, migrar sem problemas para licenças maiores e ainda razoáveis. É um bela solução para uma VM Smalltalk sólida e comercialmente suportada com persistência e clustering já presentes.
E sobre o próximo ano do FISL? Como você conseguiu três dias inteiros para Smalltalk?
Bem, como eu disse, “tudo começou com algumas doses de caipirinhas…”
Quais são os seus planos para esses três dias? Você tem a intenção de trazer outros Smalltalkers?
Eu estou trabalhando com os organizadores do FISL e vários outros provedores de soluções e grupos dentro da comunidade Smalltalk para produzir uma mini-conferências. Espero ter treinamento inicial e avançado de Smalltalk, e vários tutoriais de Seaside. Expero que a conferência possa atrair um número significativo de desenvolvedores Smalltalk para o FISL pela primeira vez, e expor os demais participantes à linguagem, de modo que todos ganhem.

Muito obrigado, Randal, pela entrevista.

Tagged ,

§ 7 Responses to Conversa com Randal L. Schwartz"

  • Boa entrevista Ronaldo. :)

    Para quem quiser saber mais do Randal, existe o episódio 9 do FLOSS Weekly[1] que é muito interessante e engraçado.

    [1] http://twit.tv/floss/randall_schwartz

  • Luiz Rocha says:

    Espero que você tenha se voluntariado para fazer alguma palestra relacionada ao assunto.

    Seaside + CouchDB talvez? :-)

    @Kristopher, muito bom o link!

  • Lorn says:

    O Randal é bem conhecido na comunidade Perl, ele inventou o JAPH 😛 http://en.wikipedia.org/wiki/JAPH nesse final de semana eu fui no encontro do Rio Perl Mongers e a ultima palestra foi a dele sobre Seaside, ele falou disso no blog http://methodsandmessages.vox.com/library/post/subverting-perl-people-into-smalltalk-hackers.html
    Ronaldo, você conhece alguma lista, smalltalk-br like?

  • Hugo says:

    Falando em smalltalk hoje vi do que se trata o Maglev.
    Qual sua opinião Ronaldo?
    http://www.infoq.com/news/2008/04/maglev-gemstone-builds-ruby

    Até mais

  • Smalltalk é uma de minhas linguagens preferidas e acho que os novos programadores – de uns 10 anos pra cá – passem a respeitar mais as linguagens mais antigas.

    Fico muito chateado por ter perdido a palestra do Randal, mas feliz por poder ler esta ótima entrevista aqui. =)

    []’s
    Cacilhas, La Batalema

  • Assassinando o português: no comentário anterior, onde eu disse «acho que os novos programadores…», leia «espero que os novos programadores…».

  • Ronaldo says:

    Opa, Kristopher, boa dica! Eu estou com um monte desses FLOSS baixados aqui mas ainda não tive tempo. :-)

    Luiz, sim, eu me ofereci. Se rolar, provavelmente vou falar de alguma coisa relacionada com isso mesmo. Vamos ver o que dá. :-)

    Lorn, pois é, acho que tem muita gente surpresa com o fato de que ele usava Smalltalk há mais tempo ainda do que Perl. Sobre a lista de discussão, existe o st-br[1]. Um pouco parada, mas lá é onde está a maioria do pessoal que gosta do assunto.

    [1]: http://groups.yahoo.com/group/st-br/

    Rodrigo, felizmente, parece que essas linguagens mais antigas estão sendo trazidas à tona novamente. Espero ver um bom crescimento no interesse sobre as mesmas agora.

    Hugo, acho fantástica a iniciativa da GemStone. Uma das coisas mais problemáticas em relação a Ruby e Rails hoje é deployment. Se houver uma máquina virtual robusta, com boa performance e com capacidades de escalabilidade maiores, e com uma empresa forte por trás, haverá menos desculpas para que empresas deixem de escolher linguagem dinâmicas.

Leave a Reply

Your email address will not be published. Required fields are marked *

What's this?

You are currently reading Conversa com Randal L. Schwartz at Superfície Reflexiva.

meta