Después de ver Martin's keynote on Reflection and Compilers parece que no puedo sacarme esta loca pregunta de la cabeza. Martin habla, entre otras cosas, sobre el "patrón de pastel" (boda), donde los rasgos juegan el papel central. Me pregunto, ¿por qué en el mundo necesitamos paquetes cuando ya tenemos rasgos? ¿Hay algo que pueda hacer un package
, qué trait
(al menos teóricamente) no puede?Rasgos vs. Paquetes en Scala
No estoy hablando de la implementación actual, solo estoy tratando de imaginar cómo sería la programación si reemplazamos paquetes con rasgos. En mi cabeza sería así:
- una palabra clave menos (
package
es innecesaria) - sin necesidad de
package object
s
Para resumir todas mis preguntas:
- Es es teóricamente posible eliminar paquetes del lenguaje y usar rasgos en su lugar.
- ¿Qué otros beneficios obtendríamos de este cambio? (Estaba pensando en paquetes de primera clase e importaciones de primera clase, pero la composición mixin es una tarea de tiempo de compilación, aunque las supercarreteras están vinculadas dinámicamente)
- ¿Es la compatibilidad Java/JVM lo único que se interpondría en el camino?
Actualizar
conversaciones Daniel SPIEWAK en this keynote acerca de la inyección de dependencia es sólo la punta del iceberg de todas las cosas que puede hacer con el patrón de la torta.
Eso es (estático) [newspeak] (http://newspeaklanguage.org/)! :) –