.net scala

¿Está lista la producción de scala.net?



(8)

DDJ: ¿Hay una versión .NET de Scala planificada?

MO: Sí. Lo anunciamos en julio. Tenemos un proyecto, que en realidad está financiado por Microsoft, para construir una versión .NET de Scala. Y tenemos la primera versión de arranque del compilador que se compila en .NET. Todavía hay trabajo por hacer, especialmente en la integración de Visual Studio.

Entrevista con Martin Odersky de Scala - 14 de julio de 2011

Scala parece tener una implementación de .NET también. Me preguntaba si se trata de una implementación completa sin cabos sueltos o simplemente como una vitrina.

Es importante, porque la aplicación que vamos a desarrollar debe tener Windows GUI además de la implementación principal en la web. Tener un lenguaje donde el código central puede ser portado entre dos implementaciones parece un creador de acuerdos.

¿Alguien trabajó en la implementación .NET de Scala? ¿Cualquier retroalimentación?


A partir de Scala Days 2010 en abril, Miguel Garcia estaba trabajando en Scala.NET. Creo que está trabajando en un plugin de estudio visual y no estoy seguro de qué tan avanzado están las cosas, sin embargo, puedes encontrar evidencia de su trabajo aquí:

http://lamp.epfl.ch/~magarcia/ScalaCompilerCornerReloaded/ http://www.sts.tu-harburg.de/people/mi.garcia/ScalaCompilerCorner/ScalaNetLearnsLINQTricks.pdf

Miguel ahora está haciendo su postdoc en EPFL: http://lamp.epfl.ch/~magarcia/

La respuesta de Paul (extempore) probablemente tiene más información actualizada, pero si tuviera curiosidad, podría preguntarle directamente a Miguel.


En este momento, no, realmente no, lo cual es una gran lástima, ya que es un lenguaje bastante divertido.

Programas tipo "Hola mundo", bien, incluso trucos de fantasía como escribir una pila simple donde una pequeña parte de Python (el mismo código bajo Jython o IronPython) maneja la misma pieza de Scala.

Todo lo que sea moderadamente gravoso: la compilación scalac-net puede arrojar, incluso si el código no usa nada fuera del espacio de nombres scala, y crea y pasa un conjunto bastante exhaustivo de pruebas unitarias en la JVM. Puede obstaculizar la construcción incluso en ensamblajes bastante simples (incluso si se construye utilizando .net 1.0, para que coincida con la baja especificación del mscorlib incluido en el paquete scala-msil).

Mis conjuntos de prueba para "moderadamente impuestos" han incluido las siguientes implementaciones destinadas a compensar carencias actuales en .net

  • un puerto a Scala de una biblioteca de C # para BigInteger ( de codeplex , con mis propias pruebas unitarias)
  • un puerto a Scala del código de Java en scala.actors

En una entrevista en scala-lang.org el 18 de julio de 2011:

¿Puedo ejecutar programas Scala en .Net ahora?
Miguel :
La respuesta simple es sí, con algunas limitaciones que se eliminarán antes del otoño.

Enlace: scala-lang.org/node/10299
Enlace: Binaries


He escuchado que se han adquirido nuevos fondos para el lado de .NET, pero por el momento es una gran y creciente distancia de "producción preparada" o incluso "utilizable". No ha habido un check-in que haya tocado significativamente el lado de .NET en mucho tiempo.

Actualización 15 de enero de 2010: un mensaje reciente a una de las listas scala.

De: Lukas Rytz

El viernes 15 de enero de 2010 a las 03:18, Naftoli Gugenheim escribió:

No estoy seguro de si esto es lo que estás buscando, pero creo que se puede ejecutar H2
.NET, según su documentación / sitio web.
Si está buscando un motor de base de datos programado en Scala, personalmente
No he oído hablar de ninguno, pero eso no significa nada.
Si se refiere a un ORM, etc. hay algunos. Puede usar Lift Mapper incluso en un
aplicación no Lift (solo incluya el webkit y util tarros IIRC).
¿Cuál es el estado de Scala en .NET?

Estamos trabajando en el arranque del compilador y estamos reparando MSIL-Backend-Bugs en el camino. EPFL proporcionará un compilador que se ejecuta en .NET (que usa IKVM.OpenJDK.Core.dll, al menos en una primera versión)

En este momento, tenemos un compilador cruzado que se ejecuta en la JVM, y una versión reducida de scala-library.jar que se ejecuta en .NET.

Para algunas partes confiaremos en la comunidad (por ejemplo, portar más de scala-library.jar a .NET).

Lukas


La entrada de Wikipedia dice:

Existe una implementación alternativa para la plataforma .NET, pero no se ha actualizado. (cita requerida)

La sección de "limitaciones" de las preguntas frecuentes tiene esta entrada:

¿Scala trabaja en .Net?

Sí, la distribución actual de Scala puede compilar el programa para la plataforma .Net. La plataforma .Net tiene muchas similitudes con Java pero también tiene muchas idiosincrasias, por lo que mantener este puerto es una tarea complicada. La versión MSIL / .Net de Scala implementa en esta etapa prácticamente todo el lenguaje Scala y la mayoría de las bibliotecas estándar. Una limitación importante es que los tipos estructurales aún no funcionan en .NET. Todavía puede haber problemas al usar manejadores de excepciones particularmente complejos. Una pequeña cantidad de bibliotecas no están disponibles debido a las peculiaridades de .Net, y la interacción con otros lenguajes .Net no es compatible. Para obtener más detalles, consulte esta página de documentación (posiblemente un poco obsoleta).

La guía para usar Scala con .NET habla sobre la versión 1.4, que ya es bastante antigua. Por otro lado, parece que la documentación se escribió tan recientemente como 2008, incluida la página "Scala on .NET: curiosidades" , que suena bastante importante.

Sin tener ninguna experiencia yo mismo, parece que el soporte cojea, pero que el puerto .NET no es realmente un ciudadano de primera clase. El hecho de que no haya "zumbido" alrededor de Scala en .NET (en comparación con la versión de Java) tampoco es alentador. No parece algo que quisiera usar para software comercial en este momento. Por supuesto, es posible que esté bien, y que no esté bien comercializado. Si está realmente interesado en la idea, preguntaría en una lista de correo .

¿Por qué no utilizar el Eclipse RCP para un cliente de Windows basado en Java / Scala o usar .NET para la aplicación web?


Martin Odersky dice en esta entrevista de SE Radio (enero de 2011):

No quiero darte una hora estimada de llegada, pero ciertamente debería ser este año, incluido el soporte de Visual Studio.

Él comienza a hablar de .NET en la marca de 15 minutos.


Mirando en el repositorio de SVN, definitivamente hay algo de actividad en el espacio .net. En 2.7.x había un directorio de dotnet-library 2.7.x , pero eso ya no está en 2.8.x trunk . En cambio, hay un directorio de msil que tiene algunas cosas no triviales sucediendo hace tan solo 4 meses por rytz .

Toda la documentación disponible parece estar desactualizada, pero tal vez valga la pena preguntar a uno de los principales colaboradores cuál es el estado actual. Tenga en cuenta que imprompore (quien ya respondió esto hace más de un año) parece ser uno de ellos.