Rodrigo Kumpera Weblog

Meus achados sobre tecnologia

Entries Tagged as 'java'

Implementando Haskell em VMs tradicionais (parte 1)

September 10th, 2009 · 2 Comments

Outro dia uma discussão me levou a pensar se era possível implementar Haskell em cima de uma VM tradicional, tal qual JVM ou CLR, de forma eficiente. Em termos dos mecanismos que a VM precisa suportar de forma eficiente os principais são tail call, thunking, type classes e algebraic types. Nesse artigo vou apenas discutir [...]

[Read more →]

Tags: java · language design · mono

Como fazer uma linguagem dinâmica ser rápida?

May 22nd, 2008 · 2 Comments

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 [...]

[Read more →]

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 [...]

[Read more →]

Tags: Programming · java · language design · ruby

Erlang é realmente difícil?

January 19th, 2008 · 9 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 [...]

[Read more →]

Tags: Programming · erlang · java

Sobre Ponteros e Pattern Matching

June 10th, 2007 · 8 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. [...]

[Read more →]

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 [...]

[Read more →]

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 [...]

[Read more →]

Tags: Programming · anger management · java

EJB3 contra Generics

April 29th, 2007 · 7 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 [...]

[Read more →]

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 [...]

[Read more →]

Tags: Arquitetural Design · Programming · java

Green threads – idéia ruim ou implementações péssimas?

April 12th, 2007 · 3 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 [...]

[Read more →]

Tags: Programming · Scalability · concurrency · erlang · java