Palavras e idéias

February 8th, 2007 § 11 comments § permalink

O Nando Vieira comenta sobre palavras que são difíceis ou impossíveis de traduzir para português como embedded, deprecated, parser ou parsing.

Todo mundo provavelmente lembra de palavras similares. Poderíamos acrescentar: crash, design, syndication, feed, spam e post. E isso sem contar as que já ganharam aceitação mais popular como, por exemplo, web, site, software e hardware. Muitas dessas palavras tem traduções aproximadas, mas que, em quase todos os casos, não refletem o significado original com total fidelidade. É o caso de desenho para design.

Toda vez que eu penso nesse assunto, eu me lembro da hipótese Sapir–Whorf, que argumenta que a natureza do idioma de uma pessoa influencia pesadamente o modo como ela pensa e se comporta. Atualmente, a hipótese é aceita em uma forma mais branda com uma boa evidência experimental por trás e eu sempre me lembro da mesma pensando em porque essas palavras são tão complicadas para se traduzir. Algumas derivações como meatware e wetware são positivamente impossíveis de serem compreendidas em português sem uma explicação mais extensa e, entretanto, são perfeitamente óbvias no idioma original como palavras independentes.

Considerando também o fato de que, de uma forma geral, linguagens de programação são escritas em inglès, usando estruturas sintáticas dessa linguagem, a questão óbvia é: será que o inglês, como um idioma, se presta melhor à tecnologia? Ou isso é meramente uma conseqüência da dominância tecnológica de um país que usa esse idioma? Se a hipótese Sapir–Whorf está correta de alguma forma, faz um certo sentido considerar que o idioma inglês é também uma ferramenta tecnológica enquanto linguagem.

Essa sempre foram curiosidades minhas, embora eu ainda não tenha chegado a qualquer conclusão sobre o assunto. E vocês, o que acham?

Mercenário

February 7th, 2007 § 6 comments § permalink

Você sabe que a situação financeira está crítica quando você precisa pegar dinheiro emprestado do cofrinho do seu filho para pegar ônibus e ele, que só tem dois anos e meio de idade, ainda lhe cobra juros de 100% sobre um dia de empréstimo.

Duna

February 7th, 2007 § 2 comments § permalink

Duna, de Frank Herbet, é uma das minha séries favoritas de ficção científica. Ao contrário da maioria dos fãs, eu gosto de todos os livros, mesmo do sexto, que termina em um gancho porque Herbert morreu antes de completar o sétimo livro. Eu gosto tanto da série que, a exemplo de O Senhor dos Anéis, acabo relendo todos os livros a cada três ou quatro anos. Nunca li os livros escritos pelo filho dele, que continuam e supostamente terminam a estória, mas ainda posso acabar cedendo à tentação algum dia para ver o que acontece aos meu personagens favoritos.

Herbert era um autor que consegui compactar em suas obras um quantidade de idéias e conceitos tão grande que o leitor não consegue passar por uma página sem correlacionar o que está lendo com dezenas de experiências e situações do mundo real. Um exemplo é o grande tema ecológico do livro que inspirou vários autores posteriores dos quais o mais notável é, sem dúvida, Kim Stanley Robinson.

Minha passagem favorita está no terceiro livro, Filhos de Duna, em um momento em que Stilgar e Leto II estão no deserto, em uma espécie de vigília e, na volta, Leto diz uma frase simples para Stilgar: “Você reparou, Stil, como os jovens estão mais bonitos este ano?”. No próximo capítulo, Herbert descreve todo o processo mental de Stilgar, levado a refletir sobre a frase, até chegar a uma conclusão completamente diferente e, entretanto, fundamentada na premissa lançada por Leto. Nesse momento, Leto se vira para Stilgar e diz: “Está vendo, Stil. A tradição não é o guia fixo que você pensou que fosse”, efetivamente mostrando a conclusão a que Stilgar chegara. A passagem é escrita com uma leveza tão grande que o leitor chega quase a sentir reverência pelo modo como Herbert conduz a estória.

Realmente é uma pena que Herbert tenha morrido sem completar a série. O mundo perdeu um grande escritor cujas obras continuam relevantes mesmo décadas depois de sua concepção.

Smalltalk: variações sobre um mesmo tema

February 6th, 2007 § 21 comments § permalink

Nos últimos dias, baixei e experimentei diferentes implementações de Smalltalk, tentando me decidir por uma delas. Existem dezenas de implementações diferentes, cada uma com suas vantagens e desvantagens. A linguagem em si, obviamente é a mesma, mas o que cada ambiente fornece ao desenvolvedor pode ir desde um simples workspace com a capacidade básica de programação e extensão até ambientes capazes de compilar e gerar executáveis para múltiplas plataformas.

Uma das primeiras coisas que eu notei foi o preço das implementações. Existem as grátis, é claro, e as voltadas para desenvolvimento não-comercial. Mas uma implementação paga, como a VA Smalltalk, por exemplo, chega a custar mais de 8 mil dólares. Para algumas, como a VisualAge da IBM ou a Cincom Smalltalk, da Cincom, eu não fui capaz de encontrar o preço. Não quero nem imaginar o preço destas implementações, já que, na minha experiência, se uma empresa esconde o preço de um produto é porque ele é caro demais.

Tanto a Cincom quando a Object Arts fornecem implementações gratuitas para desenvolvimento não-comercial. No caso, da primeira, o VisualWorks e no caso da segundo, o Dolphin Smalltalk. Este último é uma implementação puramente Windows, assim como o Smalltalk MT, da Object Connect.

Como meu objetivo é desenvolver tanto aplicações desktop como aplicações Web, meu alvo primário foi uma implementação que facilitasse as duas coisas e suportasse tanto Seaside como Glorp. Em cima disso, há o requerimento de que os executáveis possam rodar tanto no Windows como no Linux. Achei somente uma implementação que atende todos esses critérios: a da Cincom, VisualWorks. Como o problema do preço acima.

Existe, é claro, a Squeak, que atende os critérios acima mas cuja implementação é muito voltada para a área educacional e com um implementação de GUI própria que não me agrada muito. É uma implementação rápida e muito boa, mas com um propósito muito específico.

No momento, estou com Smalltalk MT, Dolphin Smalltalk e VisualWorks instalados. As duas primeiras são excelentes em termos de acabamento já que, sendo voltadas para Windows, adotam todas as convenções da plataforma. No Linux, estou somente com o Squeak e o VisualWorks. Esta última implementação, embora bem robusta, deixa muita a desejar em termos de interface, usando OpenMotif e, até onde eu sei, sem nenhum suporte a Qt ou GTK.

Com todas essas diferenças, eu fico imaginando se essa não é uma das causas da pouca aceitação da linguagem. Mesmo o fato de ser baseada em imagens não é um grande problema considerando que as objeções (geração de executáveis e desenvolvimento em equipe) já foi superado há muito pelas implementações. Eu até entendo Lisp não ser muito aceita, por ser uma linguagem mais esotérica; Smalltalk, por outro lado, é uma linguagem imperativa normal que não apresenta problemas de entendimento mesmo para o desenvolvedor novato. Provavelmente, uma implementação padrão e mais moderna tornaria a linguagem bem mais aceitável. Aliás, parece que esse é o alvo do pessoal por trás do #Smalltalk, baseada no .NET e ainda em amplo desenvolvimento. Essa eu não considerei pela relativa imaturidade.

Mesmo com todas essas considerações, permanece o fato de que Smalltalk é uma linguagem madura e extremamente relevante para o mundo moderno de desenvolvimento. Seaside e Glorp, pelo seu parentesco conceitual com Rails e ActiveRecord, estão dando um pouco mais de visibilidade à linguagem e eu não ficaria surpreso se mais aplicações comerciais aparecessem baseadas na mesma. Sem dúvida, todas outras linguagens e frameworks ganhariam muito com uma ressurgência do Smalltalk.

Otimizando a leitura de RSS

February 5th, 2007 § 9 comments § permalink

Há mais de dois anos atrás, eu me perguntei aqui como o Scoble fazia para acompanhar 1400 feeds por dia quando eu mal dava conta de 92. Ele respondeu, explicando rapidamente a metodologia que usava para processar a vasta quantidade de informação que aparecia em seu agregador.

Na época, eu confesso que, embora tenha entendido como ele fazia, não vi como aplicar o mesmo método para mim. Foi só agora, mudando do Bloglines para o Google Reader, que consigo entender porque isso aconteceu. O motivo, no meu caso, foi mais coincidência do que uma diferença real entre os dois produtos. Eu estava tão acostumado com o Bloglines, usando do jeito que eu aprendera alguns anos atrás, que não dei muita atenção às mudanças de interface feitas para maximizar o fluxo de leitura.

Como o Google Reader apresenta por padrão todas as entradas atualizadas desde a última visita, sem separação específica entre os blogs, e privilegia o uso de teclado, a tarefa de descartar informação, principalmente a redundante, ficou mais óbvia. E isso faz toda a diferença. Além disso, como é fácil marcar um item para leitura posterior, o processo inicial de leitura se torna, na verdade, um processo de seleção de informação. A leitura real é feita depois, com o que sobrou. Para feeds agregados ou de notícias isso é particularmente útil. Um outro detalhe é que entradas curtas podem ser lidas e rapidamente eliminadas ou marcadas para comentários posteriores.

O resultado final é um ciclo bem eficiente de leitura que me permitiu aumentar o número de feeds que eu acompanho sem gastar mais tempo. Eu devo ser o último usuário de RSS na face da Terra a perceber isso, mas fica aí a minha breve análise se esse não for o caso. :-)

Gyre

February 5th, 2007 § 2 comments § permalink

Uma das principais deficiências do Rails é a falta de um bom depurador. Convenhamos, o uso de breakpoint é um mero paliativo, e um paliativo muito, muito fraco.

Bem, essa deficiência foi reparada e de uma forma surpreendente. Adam Wiggins acaba de liberar a versão alfa do Gyre, um depurador visual para aplicações Rails que roda embutido na própria aplicação. O que mais me agradou no depurador foi a extrema similaridade com o ambiente usado por aplicações Seaside. Essa migração de características do Smalltalk e Seaside para o Rails e ferramentas derivadas é algo que me agrada muito.

Um screencast mostrando as principais características do depurador está disponível no site no mesmo. Embora seja uma versão alfa, como mencionado acima, a aplicação já está bem completa. Com certeza, essa será um ferramenta indispensável para qualquer desenvolvedor Rails.

A inevitável leveza da calvície

February 4th, 2007 § 12 comments § permalink

Quando você é de uma família em que ninguém perde a cor do cabelo, a esperança é que isso se aplique também ao volume do mesmo. Irracional, talvez, mas não destituído de sentido. Afinal de contas, se o tempo poupa o que é mais complicado, por que não poupar também o que é mais simples.

A esperança é vã, porém. Há um tempo em que as visitas ao barbeiro são tão normais quanto qualquer outra atividade regular. E há o momento em que, quanto o espelho paira sobre a sua cabeça, você percebe que os fios ali em cima não são tantos como você gostaria de acreditar. E você percebe que o frio que você sente quando o vento sopra sobre sua cabeça não se deve somente ao clima. Mas, o progresso é lento e você não se preocupa.

O dia chega, entretanto, em que você está parado na fila do supermercado e, sem querer, olha para a imagem que é gerada pela câmera atrás de você. E percebe que sua cabeça ganhou um halo. Você olha novamente, não convencido de sua santidade inerente, e percebe que aquilo não é uma indicador de seu estado eterno. Você olha novamente, tentando se convencer do contrário, mas a verdade está exposta na luz refletida pela câmera.

E você se dá conta do que já sabia a muito tempo, da inevitável leveza da calvície. E decide que, se a batalha está perdida, o melhor é aceitar a derrota com honra e que haverá um tempo em que a leveza será substituída pela inexistência. Há tempo para tudo, mesmo para isso.

Palavras esdrúxulas

February 4th, 2007 § 9 comments § permalink

Palavras que meu filho de dois anos e meio sabe falar perfeitamente mas que não tem a menor idéia do que significam, é claro:

  • Paralelepípedo
  • Paquiderme
  • Peristáltico
  • Constitucional
  • Singularidade

Lendo mais

February 3rd, 2007 § 12 comments § permalink

Sempre me perguntam como eu faça para conseguir ler tantos livros, principalmente quando eu falo minhas metas de leitura. Não há nada de especial, para dizer a verdade. Qualquer um pode conseguir ler uma quantidade considerável de livros por ano sem fazer muito esforço.

Eu realmente gosto muito de ler. Por hábito e gosto, consigo ler um livro de 350 páginas em cerca duas horas–dependendo, é claro, da densidade do conteúdo. Apesar disso, procuro ler um pouco mais devagar para não tornar a leitura algo meramente mecânico. Isso é meramente treino. Quando mais eu leio, mais rápido consigo ler.

Tirando essa questão, porém, algumas coisas que podem ajudar alguém a ler mais:

  • Reserve 45 minutos de leitura por dia. Isso se traduz em 270 minutos por semana, tirando domingo. Com esse tempo, é possível ler um livro por semana, o que significa 52 livros por ano.
  • “Leia” usando audiobooks. Isso é excelente para enquanto você está fazendo alguma atividade física. O automatismo de andar ou correr ajuda bastante.
  • Leia mais do que um livro ao mesmo tempo. Isso impede que você empaque em um deles. Se o livro ficar um pouco lento ou chato em algum ponto, é fácil passar para outro até recuperar a vontade de ler o anterior.
  • Abandone um livro se você não estiver gostando. Não faz sentido tentar terminar algo pelo qual você está se arrastando.
  • Não leia com sono.
  • Leia no ônibus ou no táxi, se você usa.
  • Leia mais no gênero que você gosta.

São dicas bem óbvias, mas que ajudam a criar um hábito consistente de leitura. Ler 52 livros em um ano, em uma área que você gosta, fará com que você se torne um expert em relativamente pouco tempo, o que é uma imensa vantagem profissional obviamente.

Fiquem à vontade para sugerir outras dicas nos comentários. Eu sempre estou à procura de novas. :-)

Déjà Vu

February 2nd, 2007 § 6 comments § permalink

Assisti Déjà Vu. Não gostei muito. Provavelmente porque eu já vi tantas estórias relativamente similares que esperava um pouco mais. O passo é muito bom e a história é bem contada, mas o final, pelo menos para mim, estragou tudo. E, considerando o esforço feito para se manter dentro do tema e até do modo de se falar em relação ao assunto, não cuidar do final foi um pecado imperdoável.

Engraçado é que eu fiquei um pouco surpreso pelo fato do Denzel Washington aparecer em um filme que se torna declaradamente ficção científica lá pelas tantas. Mas isso é só uma questão de estereótipos. Estou tão acostumado a vê-lo em determinados tipos de filme que parecia que ele estava se aventurando em um gênero novo, quando o filme também é de ação. Irônico.

Where am I?

You are currently viewing the archives for February, 2007 at Superfície Reflexiva.