[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Nuevo Java idiom
- To: mindfood@xxxxxxxxxxxxxxx
- Subject: Nuevo Java idiom
- From: Rafael Luque Leiva <rafael.luque@xxxxxxxxxxxxxxx>
- Date: Wed, 09 Aug 2006 10:21:29 +0200
- Delivered-to: mailing list mindfood@orange-soft.com
- Delivered-to: moderator for mindfood@orange-soft.com
- Mailing-list: contact mindfood-help@orange-soft.com; run by ezmlm
- Organization: Orange Soft
- Reply-to: rafael.luque@xxxxxxxxxxxxxxx
- User-agent: Thunderbird 1.5.0.4 (X11/20060610)
Paul Holser describe en su artículo "Concisions, Concisions...or,
(De-)Constructing and Idiom" [1] una forma alternativa de inicializar
colecciones en Java. Consiste en utilizar dos de los elementos
sintácticos más oscuros del lenguaje: las clases anónimas y los bloques
de inicialización de instancia:
Vector movieNames = new Vector() {
{ add("Star Wars"); add("Star Trek"); add("Stargate"); }
};
A pesar de su extraña apariencia, la expresión tiene a su favor que
evita la repetición (DRY principle [2]) que se da en la forma
habitualmente empleada para inicializar colecciones:
Vector movieNames = new Vector();
movieNames.add("Star Wars");
movieNames.add("Start Trek");
movieNames.add("Stargate");
No sería extraño que con el tiempo esta fórmula se convirtiera en una
"expresión hecha" o Java idiom [3] entre los que usamos este lenguaje.
Curiosamente, esta expresión al igual que otros Java idioms trata de
trasladar a Java de manera más o menos artificial la potencia expresiva
que de forma natural se dispone en Smalltalk.
A propósito de Smalltalk, cuanto más profundizamos en el conocimiento de
este lenguaje (estamos deseando desarrollar nuestra primera aplicación
web con Smalltalk), más convencidos estamos de que es uno de los mejores
lenguajes de programación existentes y que supera a Java en muchos
aspectos, aunque esto daría lugar a otra discusión.
Rafa.
[1] http://home.comcast.net/~pholser/writings/concisions.html
[2] http://www.artima.com/intv/dry.html
[3] http://c2.com/ppr/wiki/JavaIdioms/JavaIdioms.html
--
Rafael Luque Leiva
Orange Soft - http://www.orange-soft.com
Creando software para las personas
Urbanización Las Castañeras
Arroyo de los Combos, 26 bis
Arroyomolinos, E28939 Madrid
Tel: +34 692 613 639
Fax: +34 916 091 075
GnuPG Key ID: 0x4B9238A2