Que tal Esteban,
   hay una thread en Squeak Dev que se llama the Timing of Time donde
estamos intercamdiando mails con el pibe de Chronos sobre estos
temas...
   Igual te comento a grandes rasgos lo que yo veo:
   1) Chronos es mas completo en funcionalidad porque soporta time
zones y otros calendarios, sin embargo esa funcionalidad generalmente
no se usa en aplicaciones "comunes" y le agrega un complejidad al
modelo que para no es bueno
   2) A nivel diseño e implementacion, veo en Chronos cierta
complejidad que me hace dificil entenderlo como asi algunos errores
conceptuales (desde mi punto de vista por supuesto). Por ejemplo, todos
las clases descienden de Immutable, una clase que el creo para manejar
la inmutabilidad de sus objetos... esto me parece un abuso de herencia
y ademas una mala implementacion porque nuestros objetos tambien son
immutables y no necesitamos hacer algo asi... asi que te diria que a
nivel diseño me gusta mas nuestra solucion.
  3) Nuestra solucion tiene mas abstracciones que Chronos, como por
ejemplo:
* GregorianDay, que se usa para los dias como Lunes, Martes, etc.
* GregorianMonth: representa meses como Enero, Febrero, etc.
* GregorianMonthOfYear: representa entes como "Enero 2006", "Marzo
2005"
* GregorianDayOfMonth: representa entes como "primero de Enero"
* GregorianYear: representa un año gregoriano
  Tener estas abstracciones hace que sea mucho mas facil resolver
problemas que con los otros modelos, por ejemplo:

   GregorianYear current months collect: [ :aMonth | aMonth lastDate ]
   Devuelve las ultimas fechas de los meses de año actual
   (January first, 2006 to: July second, 2007) select: [ :aDate | aDate
isMonday ]
   Devuelve todos los lunes desde el primero de enero del 2006 al 2 de
julio del 2007
   (January first, 2006 to: July second, 2007) every: (Array with:
Monday with: Friday)
   Devuelve todos los lunes y viernes desde el primero de enero del
2006 al 2 de julio del 2007

   March next: 3 * TimeUnits month --> Devuelve Junio
   March, 2006 next: 3 * TimeUnits year --> Devuelve March, 2009

   En fin, hay muchas cosas que se simplifican muchisimo.
   Ademas usamos medidas para aquellas entidades que representan
segmentos en la linea del tiempo, que es el paquete de aconcagua. Por
ejemplo:

   10 * TimeUnits day --> representa 10 dias
   10 * TimeUnits day convertTo: TimeUnits second -> Devuelve la
cantidad de segundos en 10 dias

   GregorianDate today distanceTo: GregorianDate today year lastDate
--> Cantidad de dias desde hoy al ultimo dia del año... si hoy es
21/4/06 devuelve "254 dias"

   Bueno, hay muchas otros ejemplos mas que tambien creo que son
interesantes... estamos tratando de poner todo esto en una pagina web
para poder mostrar el pontencial que tiene.

 Un abrazo y cualquier cosa no duden en preguntar.
 Hernan


--~--~---------~--~----~------------~-------~--~----~
Ha recibido este mensaje porque está suscrito a Grupos de Google 
"clubSmalltalk" grupo.
 Si quiere publicar en este grupo, mande un correo electrónico a 
[email protected]
 Para anular la suscripción a este grupo, envíe un mensaje a [EMAIL PROTECTED]
 Para visualizar más opciones, visite este grupo 
enhttp://groups.google.com/group/clubSmalltalk
-~----------~----~----~----~------~----~------~--~---

Responder a