Muito se fala em como as implementações de Ruby estão ficando rápidas, que estão evoluindo rapidamente. Porém não consigo pensar em como todas elas parecem mas preocupadas em repetir o caminho das pedras que outras linguagens dinâmicas passaram em décadas passadas.
Hoje a maioria ainda está no estágio de possuir um interpretador razoável e estar começando [...]
Entries Tagged as 'java'
Como fazer uma linguagem dinâmica ser rápida?
May 22nd, 2008 · No Comments
Tags: Programming · java · language design · mono · ruby
Monkeypatching: gambiarra du-jour
March 3rd, 2008 · 3 Comments
Finalmente o óbvio atingiu a comunidade de desenvolvedores de Ruby. Enfim descobriram que meta-programação sem disciplina é um engôdo. No começo produz resultados fabulosos rapidamente, só que mais adiante se torna um inferno de integração. Não falta gente calejada em Rails para te contar uma miríade de problemas ao integrar frameworks que modificam classes como [...]
Tags: Programming · java · language design · ruby
Erlang é realmente difícil?
January 19th, 2008 · 6 Comments
Conversando com um amigo sobre Erlang, ele me comentou que acha a sua sintaxe quase indecifrável, note que se trata de um ótimo programador. Continuando a discussão, resolvi ver qual a diferença de algoritmos simples. Para tornar a comparação justa, vou mostrar o mesmo trecho de código em Java e Erlang. Meu objetivo é explorar [...]
Tags: Programming · erlang · java
Sobre Pointeros e Pattern Matching
June 10th, 2007 · 7 Comments
Existem alguns conceitos na computação que a partir do momento que são compreendidos se mostram triviais, ao ponto que ser difícil justificar a dificuldade de aprender. Dentre eles tenho ponteiros e pattern matching como dois bons exemplos. Foram, de longe, as duas coisas mais difíceis que aprendi, apesar de hoje considerá-las simples, beirando o trivial. [...]
Tags: Programming · erlang · java
Lugar errado, problema errado
May 11th, 2007 · No Comments
Os comentários do Phillip no blog do Vitor só me fazem rir de alguém considerar o prevayler para nada que brinquedos. Digo isso por duas razões, pela experiência dos projetos que passei e pelo fato de Java ser uma das piores linguagens possíveis para se implementar prevalencia. Pelos projetos eu eu passei, sempre existiram requisitos [...]
Tags: Arquitetural Design · Programming · java
Classloader hell
May 9th, 2007 · 5 Comments
Lendo esse artigo do blog do Daniel, me lembrei que explicar e entender o conceito de defining classloader é bem difícil, principalmente da parte que dita as consequências. Em primeira análise é até simples, toda classe esta associada ao classloader responsável por sua carga, porém a segunda parte que guarda a chave do inferno, o [...]
Tags: Programming · anger management · java
EJB3 contra Generics
April 29th, 2007 · 6 Comments
Esta semana eu descobri que misturar EJB3 e Generics não acontece sem alguns problemas. EJB3 é um bom exemplo de porque erasure nunca foi uma boa idéia e te proibe usar alguns idiomas comuns. Bom, felizmente não é o fim do mundo e tem como contornar sem muita dor.
Para entender o problema, vamos lembrar um [...]
Tags: Programming · java
Utilidade da configuração programática
April 16th, 2007 · 4 Comments
Parece que configuração programática ficou em voga esses tempos na comunidade Java. A razão não me é muito clara, afinal, todo bom framework deve permitir ser usado de tal forma, porém não de maneira restritiva. Posso ter a opinião viciada nesse caso, mas acredito que configuração deve possuir sua DSL própria e a parte programática [...]
Tags: Arquitetural Design · Programming · java
Green threads - idéia ruim ou implementações péssimas?
April 12th, 2007 · 2 Comments
Todo lugar que se prese a falar sobre modelos de threading, native x green, fala que não existe razão para ter threads implementadas em user-space, chamadas de green-threads, se o SO possuir uma boa implementação nativa. Bom, se olharmos em volta, como neste blog, nas listas de discussão do JikesRVM, do Ruby ou [...]
Tags: Programming · Scalability · concurrency · erlang · java
Execute queries contra o código do seu projeto
April 6th, 2007 · 2 Comments
Métricas de software são muito úteis para identificar qual código merece atenção. Refactoring é uma técnica bem estabelecida de como evoluir um software de maneira ordenada. Qual a relação entre as duas coisas? Ambas exigem que seja feito algumas pesquisas sobre a base de código. Sempre imaginei as vantagens de uma ferramenta que permitisse [...]
Tags: Programming · java · project management