No hay nada de malo con las conversiones implícitas. Incluso si no se usó una biblioteca Java para la lógica subyacente, cualquier biblioteca Scala puramente diseñada seguiría utilizando implícitos, lo que le permite escribir expresiones como 5.days + 3.minutes
.
No todos los implicits se crean iguales tampoco, una conversión implícita a un tipo muy específico sobre el que se tiene control total es casi seguro.
Como ya se ha mencionado, tales conversiones se optimizarán en la mayoría de los casos, especialmente con el análisis de escape activado, ¡así que no se preocupe!
Hasta que finalice JSR 310, joda-time es lo mejor que obtendrá.
Aparte de la necesidad de seguir las convenciones de nomenclatura de Java y la falta de sobrecarga del operador, joda-time ya es una muy buena opción para la Scala idiomática. El diseño es de naturaleza muy funcional, especialmente la forma en que abarca la inmutablidad, por lo que el tiempo de scalaj es en realidad una envoltura muy delgada alrededor de la biblioteca.
También obtiene la ventaja de que scalaj-time se puede actualizar fácilmente para usar JSR 310 cuando está disponible, por lo que será mucho menos doloroso migrar su código en ese momento.
Desde 2.8, ha cambiado de nombre en tiempo Scala scalaj tiempo: http://github.com/scalaj/scalaj-time
¿Está buscando algo que proporciona <, > operadores? –
Te sugiero que te deshagas de tu miedo irracional a las conversiones implícitas. ;-) – Jesper
@Timo - Me gustaría las operaciones de comparación, junto con cosas como + y menos. @Jesper - El miedo no es del todo irracional. Los Implicits tienen un impacto en el rendimiento. Pueden inducir interacciones extrañas con cosas como la igualdad. Se basan en la inferencia de tipos, y he descubierto que mezclar muchas cosas que dependen de la inferencia de tipos es una buena receta para la confusión absoluta. –