Estes, à esquerda e abaixo, são artigos que eu publiquei aqui, no Webinsider ou em revistas e jornais como a Macmania, a Mac+ e o Estado de São Paulo.
Muitos deles foram escritos em acessos de raiva. Me orgulho de alguns deles e, embora eles sejam "temporalmente esparsos" demais para serem chamados de um blog, foi esse o papel que eles tiveram por um bom tempo.
Mas não é porque eu começei um blog (aqui mesmo) que eu vou abandoná-los e nunca mais acrescentar nenhum texto aqui - os posts mais "elaborados" ficarão aqui. O meu lado "repentista" ficará no blog.
Espero que você, leitor, goste dos dois.
Um abraço,
Ricardo Bánffy
O Plone Symposium e porque você devia ir
Eu sempre recomendo que coisas importantes recebam a devida atenção.
É por isso que não me incomodo muito em ver sites descartáveis sendo feitos com tecnologias como ASP, JSP ou PHP naquele modelo antigo que mistura apresentação com lógica. É como na construção de cenários - você não vai usar madeira se isopor e lycra resolverem. Concreto armado, nem pensar. Site descartável é como aqueles escritorios que são erguidos para vebder apartamentos na planta: ele só precisa ficar lá até vender unidades suficientes para começar a obra. Depois disso, vai ser derrubado. Ele nunca vai desenvolver uma goteira ou ganhar mais um piso.
Com sites, a situação é parecida.
Se seu site for só um cartão de visitas feito pra dar seu e-mail de contato ou telefone, tudo bem você montá-lo com qualquer coisa. HTML estático está bom demais.
Por outro lado, se você precisa viver com um site, é bom fazê-lo direito. É importante separar a aparência dele (que pode mudar radicalmente a qualquer tempo) do conteúdo (que tende apenas a aumentar) e de eventuais aplicações que rodem dentro dele (se seu CMS deixar você fazer esse tipo de coisa).
É por conta disso que eu gosto tanto do Plone. Ele traça uma linha muito nitida entre conteúdo e forma e, por conta de como é construído, em torno de um banco de objetos (e não um banco relacional, como a maioria dos concorrentes) ele torna ridiculamente simples fazer aplicações de workflow ou de gestão de conhecimento.
E quando eu digo ridículo, é porque, tipicamente, você só precisa gerar alguns diagramas UML e entregá-los a uma ferramenta que faz o resto.
Uma digressão rápida: no meu livro, guardar documentos dentro de um BD relacional, como faz o SharePoint, é motivo para justa-causa. Guardar ponteiros para um sistema de arquivos é apenas marginalmente melhor. Mas isso é material para outro artigo, não para esse.
E aí eu entro na parte realmente importante: se você tem problemas com sua intranet e gostaria que ela fosse mais manejável, compatível com mais navegadores (diga a verdade - é um porre quando a empresa padroniza em IE 6 porque fez a burrada de crira aplicações importantes que não rodam nem mesmo nas versões posteriores dele, quanto mais em navegadores mais modernos), que pudesse guardar seus documentos do Office (ou do OpenOffice, ou do iWork, se você tem Macs), que tivesse uma busca que funciona (porque você quer encontrar os documentos que colocou lá), que tenha undo sem nunca precisar de um restore do banco de dados (porque todo mundo erra de vez em quando) e que, no geral, envelheça mais graciosamente do que aquelas coisas com que você está acostumado, dê uma olhada no Plone.
Eu sei... Eu sou - e assumo - um fanboy do Plone. O dieblinkenlights é feito em Plone. Por vários anos o Plone pagou - não paga mais - minhas contas. O DBL é feito em Plone porque eu sou muito preguiçoso e não quero ter dores de cabeça com o site. Ele simplesmente funciona e tem sido assim desde que ele existe. E é assim que um CMS tem que ser.
Na semana que vem acontece em São Paulo o Plone Symposium South America. É a primeira edição do evento e vale a pena você ir. Vale a pena, não importando se você usa ou não Plone. Mesmo que você seja um usuário de Joomla, Drupal ou, coitado, de Sharepoint, vale a pena ir. Vale a pena para saber o que o outro CMS, aquele que você não usa, tem para oferecer.
Na pior das hipóteses, você sai com uma lista de features para serem implementados no seu que deve manter seu pessoal de desenvolvimento ocupado por algum tempo.
Mas, se você tiver mesmo sorte, você sai de lá um usuário de Plone.
Seus usuários vão agradecer.
Nota: este artigo também foi publicado no Webinsider, em http://webinsider.uol.com.br/index.php/2009/11/19/em-defesa-do-plone/.
Resultados da Pequena Pesquisa
Alguns dias atrás, depois de um post relativamente grosseiro que eu fiz, eu me propus a conduzir uma pequena pesquisa para responder algumas perguntas:
- Programadores inexperientes realmente tem uma tendência a escolher Java como linguagem de implementação?
- Programadores tendem mesmo a rejeitar o BASIC (Visual Basic, VBScript, VB.Net etc)?
- Quais programadores rejeitam o que? Há algum padrão reconhecível por experiência ou escolha de linguagem?
Hoje, depois de minhas merecidas férias e de mais ou menos 300 respostas, eu acho que posso começar a comentar sobre alguns resultados interessantes.
Sobre a pesquisa
Como o formulário diz, a pesquisa é metodologicamente falha - de um questionário incompleto, potencialmente inconsistente a uma amostra viciada - e uma causa perdida do ponto de vista científico. Não tenho intenção alguma de traçar o perfil definitivo dos programadores lusófonos. Minha intenção era apenas lançar alguma luz sobre as questões que eu enumerei há pouco e confirmar ou refutar meu mal-criado post.
Um dia, talvez, eu faça algo sério. Hoje não.
De longe, o problema mais chato de ajuste dos dados foi a amostra viciada: minhas preferências de listas de discussão impactaram significativamente as respostas. Previsivelmente, muita gente da comunidade de usuários de Python respondeu, desviando todas as leituras. Para chegar a dados mais significativos, em alguns casos eu precisei reduzir o peso das respostas em que Python é a primeira escolha para refletir melhor a realidade. Vários dos números que eu vou apresentar a seguir refletem esses ajustes.
Java e os inexperientes
Java foi a linguagem de escolha de 19% dos novatos (com experiência de até 3 anos), praticamente empatada com C# (17%). Ambas ficaram atrás de PHP que é a escolha de 33% dos inexperientes.
O fato de Java e C# serem relativamente populares entre os novatos pode ser atribuído a vários fatores: das oportunidades de emprego aos excelentes IDEs disponíveis (sim, Visual Studio é um ótimo IDE, mas apenas se você nunca for desenvolver nada para qualquer outra plataforma que não Windows).
A parte importante é que meu mal-criado post está errado: os inexperientes preferem PHP.
Quanta gente odeia o BASIC?
Essa não foi surpresa. Falando friamente, VB (que é o único dialeto sobrevivente de BASIC) é uma porcaria. Foi legal nos baixos anos 90, principalmente porque permitia escrever programas para Windows quando a única alternativa seria o Microsoft C ou a família Turbo Pascal e seus descendentes. Linguagens de terceiros para Windows sempre deixavam "cicatrizes" de interface e isso sempre me incomodou - é parecido com o efeito de se usar AWT em programas Java: eles simplesmente não parecem "certos" em nenhuma plataforma.
De qualquer modo, metade dos respondentes declararam que não usariam BASIC (o que inclui VB.net e VBScript) por nada nesse mundo. Eu acho isso um progresso significativo que enche meu coração de esperança.
O que os programadores mais detestam?
Essa é, no fundo, a pergunta mais interessante. Para respondê-la, precisamos separar nossos programadores em categorias. Para isso vou usar dois critérios: linguagem de escolha e tempo de janela.
Entre os novatos, a linguagem mais detestada continua sendo o BASIC (e seus descendentes). Surpreendentemente, o segundo lugar nessa categoria é o Java. Aparentemente os novatos que não gostam de Java têm opiniões fortes a respeito da linguagem.
Entre os veteranos, com 10 ou mais anos de experiência, o BASIC é o mais detestado. O segundo lugar é do Perl (o que me surpreende um pouco), seguido de Java e C# bem de perto.
Entre os 3 que preferiram BASIC, a linguagem mais detestada por dois deles é o próprio BASIC. Eu imagino que esses dois ou não entenderam o formulário ou não quiseram colaborar. O outro dos três respondentes que preferem BASIC, escolheu quase todas as outras linguagens como as que ele nunca jamais usaria. Como eu o conheço de muito longa data (ele preencheu o nome), eu acredito que ele conheça a lista toda. Ou que tenha me pregado uma peça.
Entre os PHPistas, BASIC é, de novo, a linguagem mais detestada. Interessantemente, o segundo e terceiro lugares pertencem a Erlang e Lisp, respectivamente. Eu achei esse resultado confuso - nunca vi um PHPista que conhecesse qualquer uma dessas duas linguagens o suficiente para detestá-la. Java também é bastante detestado entre os PHPistas, mas não sei se posso levar muito a sério esses resultados considerando a posição do Erlang e do Lisp. Vai entender...
Os Javistas detestam BASIC acima de todas as outras linguagens, mas, em seguida, detestam Smalltalk, Perl e C# igualmente. Interessante, porque pouquíssimas pessoas usam ou usaram Smalltalk (que eu considero uma das linguagens mais interessantes que existem por aí). Eu brinco que o Smalltalk/80 faz o Java/2009 parecer primitivo. E no fundo parece mesmo.
Os amantes do C# também detestam BASIC, o que pode surpreender, uma vez que BASIC é uma linguagem importante no portfolio de linguagens da Microsoft e que Windows é o único ambiente em que C# faz algum sentido. Ainda assim, os C#-istas detestam BASIC com menos energia do que os demais. Em termos de linguagens detestadas, aliás, eles são os que menos detestam.
A turma do Ruby é interessante: detesta BASIC como todo mundo, mas não polariza sua seletividade em nenhuma outra linguagem. Eles detestam muitas linguagens (praticamente todas estão representadas), mas parecem detestá-las igualmente.
Finalmente, o pessoal do Python, que ficou um pouco super-representado nessa pesquisa por conta das listas em que ela foi divulgada, detesta BASIC, como todo mundo, mas detesta Java mais do que qualquer outro grupo - um pouco mais até do que detestam BASIC - coisa única nessa pesquisa. Depois de Java e BASIC, detestam Perl. C# e PHP ficam com distantes quarto e quinto lugares.
O que quer dizer tudo isso?
Muito pouco.
A natureza falha dessa pesquisa não nos deixa tirar conclusões e ter falsas ilusões a respeito de sua validade, mas pode nos apontar em direções interessantes e para outras pesquisas mais elaboradas. Seria interessante saber que outras linguagens os programadores conhecem. Seria bom também relacionar isso com para que plataforma eles desenvolvem. Seria bom também ter mais amostras, mesmo como está - para isso ela vai continuar disponível para preenchimento aqui. Quem quiser respondê-la, sinta-se à vontade.
A pesquisa, assim como está, é um retrato divertido de se olhar e, quanto muito, material para discussões nos botecos próximos aos nossos escritórios. Mas nada muito mais sério do que isso.
E, claro, eu estaria mentindo se dissesse que eu não me diverti muito com ela.
O que, no fim, é o que conta.
Pelo menos pra mim.
Nota: Você encontra esse artigo (com um título melhor, feito por um jornalista de verdade) lá no Webinsider. Lá você também vai encontrar os comentários dos leitores de lá, que são muito mais numerosos que os daqui.
Projetos para as Férias
Sugestões para programadores em busca de horizontes mais largos
Super-Poderes Úteis
Um tutorial rápido sobre as pequenas coisas que um Unix-like sabe fazer e como um usuário mediano pode aproveitá-las
Unix de grife
Não me entendam mal. O fato de eu não usar MacOS para tudo não tem tanta relação com apreço às virtudes do Macintosh quanto com a sua adequação às minhas necessidades. Ao contrário do que pode parecer, eu sou um fã da Apple desde os dias do Apple II, aquela máquina que mudou o mundo e definiu o que é um computador pessoal.