Este ano também tive a oportunidade de ir ao TDC 2012 SP.
Eu fui no dia 07/07/2012 na trilha de Ruby, que por sinal estava muito boa.
Abaixo vou resumir o que teve de melhor nas palestras que eu assisti.
A primeira palestra foi do Ricardo Valeriano que trabalha na Caelum.
Ferramenta ideal uma questão de perspectiva
Esta palestra eu já tinha visto alguns tópicos em uma gravação da palestra que o Ricardo Valeriano e o Guilherme Silveira fizeram no 23º encontro Guru SP.
Mas mesmo assim foi bom rever, o Valeriano começa mostrando o código de um loop em java com mais de 15 linhas de código. Com esta introdução ele vai mostrando que o mesmo código em ruby pode ser feito com 6 linhas ou menos com muito mais clareza. Que um dos motivos pelo qual o pessoal da caelum começou a usar ruby era essa sintaxe menos verbosa.
Aí ele demonstra o mesmo código usando Scala com 2 linhas. Aí o pessoal pensou, agora só vamos usar Scala. Depois ele demonstra os ruídos de linguagens em diversas línguas, mostrando uma frase em várias línguas. Neste ponto eles descobrem que o Coreano é a linguagem que expressa mais com menos palavras. Aos poucos ele vai mostrando que tudo isso é contextual, depende dos detalhes de cada projeto.
E deixa bons ensinamentos a quem quer se tornar um bom desenvolvedor. Como por exemplo dominar sua linguagem, dominar outras linguagens tanto quanto sua linguagem principal, etc.
 
A segunda palestra foi do Nando Vieira da Hellobits.
Dicas e truques com Ruby
Esta  palestra do Nando Vieira falou sobre a linguagem de programação ruby. Falou algumas das vantagens do ruby.
Explicou diversos conceitos usados em ruby como classes abertas. Demonstrou com códigos como o ruby é extremamente flexível, que tudo é um objeto (Quase tudo como ele mesmo diz).
Também mostrou bastante código explicando procs e lambdas e suas diferenças. Passou por method_missing, duck typing etc.
A palestra dele teve bastante conteúdo e código, mas mesmo assim não ficou massante. Vale a pena ver os slides no link abaixo.
Slides: https://speakerdeck.com/u/fnando/p/ruby-dicas-truques
 
A terceira palestra foi do Cássio Marques.
Porque você não deve usar os callbacks do Active Record
O Cássio marques falou que com “Skinny Controllers – Fat Models” começaram a colocar tudo no model. Sacrificando a coesão, um dos alicerces da orientação a objeto.
Foram diversos casos reais com bastante código demostrando alternativas ao uso de AR callbacks, e o porque elas são ruins na maioria dos casos. Mostrou por exemplo um model Music, que tinha um método play. E neste momento ele fala: “Espera aí, uma música tocando a si mesma”.
Explicou que callbacks são métodos específicos do ciclo de vida de um objeto. Mostrou alguns efeitos colaterais quando abusa de callbacks, como por exemplo o problema de ter as callbacks executadas mesmo em códigos de testes. Pois a callback sempre será disparada mesmo quando estamos somente fazendo testes. A dificuldade de debugar e encontrar erros. Muito boa e didática a palestra.
 
A quarta palestra foi do Douglas Campos
Ruby é lento
O Douglas Campos é committer do JRuby, uma implementação não oficial do ruby que roda sobre a JVM.
Segundo a própria comunidade ruby a melhor implementação não oficial do ruby. Ele explicou os motivos pelos quais o ruby é um pouco mais lento que outras linguagens de programação.
Mostrou que devido a imensa flexibilidade do ruby, a sintaxe mais enxuta e menos verbosa, features como classes abertas, method missing entre outras fazem com que o trabalho de otimização seja muito difícil e as vezes até impossível. Mas que o pessoal do Jruby não desiste e a cada nova versão consegue melhorias significativas na performance.
Com o novo recurso do Java 7, o invokedynamic, a JVM agora entende as chamadas de métodos dinâmicas do ruby, podendo fazer otimizações extraordinárias.
E ainda sim ainda há um grande espaço a ser explorado neste sentido.
 
A última palestra que assisti foi a do Fabio Akita
Ruby: Patterns e Anti-Patterns
Fabio Akita fala sobre a confusão com a tradução da palavra Pattern para o português. Ele já tinha abordado este tema em outras ocasiões, e a comunidade comentou muito esse assunto.
A partir desta confusão ele mostra diversos trechos de códigos, e a cada trecho vai explicando um pattern específico, quem está usando, quando e como usar etc.
Entre os Patterns visitados estão : Strategy, Factory, Adapter, Chain of responsibility, etc.
Palestra com conteúdo bem legal e atual.  Fica o link para quem quiser ver melhor os códigos demonstrados nos slides.
http://www.slideshare.net/akitaonrails/tdc-2012-patterns-e-antipatterns-em-rubyc
Sempre gostei do TDC e este ano não poderia ser diferente.
That’s all folks.
Antonio Edirane

Autor

Wilson Souza é Gerente de Marketing da Bluesoft. Formado e pós Graduado pela Instituição Mackenzie, possui também MBA pela FGV. Wilson tem mais de 10 anos de experiência na área de Relacionamento e Marketing, atuando em diversas áreas e segmentos do mercado.

Deixe aqui o seu comentário