ventas sustentable pymes pyme plan para mipymes marketing libros kotler ingles entrada enciclopedia scala port compatibility llvm

scala - sustentable - plan de marketing pyme pdf



¿Qué funcionalidad/característica en Scala solo existe como una concesión a la plataforma subyacente y debe eliminarse si se dirige a otra cosa? (5)

Hace un tiempo leí sobre Scala para LLVM y me preguntaba qué cosas en el lenguaje / especificación / biblioteca de Scala solo existen para hacer feliz a la JVM o mejorar la interoperabilidad con Java.

Teniendo en cuenta que ejecutar Scala en el LLVM ofrece muchas más libertades y el plan es portar el lenguaje (y no todo el ecosistema de Java que lo rodea), ¿qué características no tendrán sentido allí?

Guía: Me pregunto sobre cosas como Object#finalize , cosas de monitor ( notify , wait ), clone frente a Cloneable , sin índices de matriz de 64 bits, tamaños de colección limitados a 32 bits, java.lang.String , reflejo de Java ...


Espero que un puerto Scala a LLVM incluya tipos de valores definidos por el usuario (como los tipos de struct en CLR). El problema es evitar la asignación de montón. Por ejemplo, en la computación científica hay una necesidad de abstracciones como matrices de números complejos, pero la asignación de cada número complejo es demasiado costosa (en términos de espacio y errores de caché).

Editar : Tal vez la JVM obtendrá tipos de valor también. John Rose, un ingeniero de JVM, discusses cómo se pueden agregar los tipos de valor. Hay rumores recientes de que Oracle planea agregar tipos de valor para un mejor soporte de la computación de alto rendimiento.


La rama del tipo AnyVal podría arder en el fuego del infierno eterno. Las matrices podrían implementarse de una manera sana (bueno, la fealdad está bastante oculta ahora), lo mismo para los tipos reificados. Los métodos clone , hashCode y toString podrían ir en clases de tipo a las que pertenecen. Currying podría ser implementado sin múltiples listas de arg. La inferencia de tipos y la programación a nivel de tipos podrían mejorarse.


Sintaxis, principalmente para no asustar a los desarrolladores de Java existentes.

Y todo "vamos a casar objetos con programación funcional, porque java solo funciona con objetos".

Sin la necesidad de integrarse con las bibliotecas OO existentes, no habría necesidad de castigar la inferencia de tipos, para hacer un feo kludge en forma de clases de casos para admitir la coincidencia de patrones.

Diablos, si lo miras, sin JVM no habría Scala, porque la mayoría de los compromisos simplemente no tienen sentido si se toman fuera del contexto de una integración perfecta con Java World.


Tipo de borrado. Hacer que cada objeto tenga una referencia de monitor (una mala característica de Java).


nulo, nulo, nulo y nulo