Pregunta

Scala es un lenguaje maravilloso, pero me pregunto cómo podría mejorarse si tenía su propio tiempo de ejecución?
Es decir. lo que las opciones de diseño se realizaron debido a la elección de JVM?

¿Fue útil?

Solución

Este artículo es una discusión con Martin Odersky (creador de Scala) e incluye los compromisos que se hicieron en Scala para la compatibilidad con Java. El artículo menciona:

  1. sobrecarga estática de métodos
  2. Tener ambos rasgos y clases
  3. La inclusión de punteros null.

Otros consejos

Los dos compromisos más importantes que conozco son:

  • escriba borrado ( " Tipo reflexionar sobre "): tiene a Administrar un manifiesto a moverse por la compilación de Java (JVM independiente de la, por razones de compatibilidad con versiones anteriores).
  • colección de tipo primitivo: ej .: matrices
      

    nuevo esquema de manejo de matrices en Scala 2.8. En lugar de boxeo / unboxing magia compilador y otra el esquema se basa en las conversiones implícitas y manifiestos para integrar las matrices

Estos son los dos principales limitaciones de JVM, cuando se trata de administrar tipo genérico (con límites): El Java JVM no mantiene el uso tipo exacto de un objeto genérico, y tiene tipos "primitivos"

.

Pero también se podría considerar:

  

A fin de cubrir tantas posibilidades como sea posible, Scala proporciona:

     
      
  • los tipos de clases convencionales,
  •   
  • Tipos de clase de valor,
  •   
  • tipos Nonnullable,
  •   
  • tipos Monad,
  •   
  • tipos rasgo,
  •   
  • tipos Singleton de objetos (módulos de procedimiento, clases de servicios públicos, etc.),
  •   
  • tipos compuestos,
  •   
  • Tipos funcionales,
  •   
  • clases de casos,
  •   
  • tipos en función del recorrido,
  •   
  • Los tipos anónimos,
  •   
  • Tipos de uno mismo,
  •   
  • Tipo alias,
  •   
  • tipos genéricos,
  •   
  • tipos genéricos Covariantes,
  •   
  • tipos genéricos contravariant,
  •   
  • acotados tipos genéricos,
  •   
  • Extracto tipos,
  •   
  • tipos existenciales,
  •   
  • tipos implícitos,
  •   
  • tipos Aumentada,
  •   
  • Ver tipos limitada, y
  •   
  • Los tipos estructurales que permiten una forma de tipificación de pato cuando todo lo demás falla
  •   

Menos un problema con el tiempo de ejecución de una resaca cultural. Igualdad universal, algoritmos hash toString

Más profundamente ligada a la máquina virtual:. Estricta evaluación por defecto, las funciones impuras, excepciones

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top