2010-08-27 12 views
16

Scala es un lenguaje de programación peculiar ya que se dirige tanto a JVM como a CLR. Pero, ¿cuáles son los beneficios? ¿Vale la pena considerarlo como una alternativa viable al lenguaje F #?¿Cuáles son los beneficios de usar Scala en .Net?

+1

Pregunta relacionada: http://stackoverflow.com/questions/168428/f-and-scala-comparison –

+3

Última vez que lo busqué, Scala ni siquiera ha trabajado en el CLR durante años y mucho menos ha sido utilizado. –

Respuesta

13

La mayoría de los hits de búsqueda web que veo de "Scala .NET" son de 2008 o principios de 2009. Scala es un lenguaje interesante, pero estoy seguro de que La impresión informada es que no es una "alternativa viable" para una aplicación .NET de fuerza industrial.

Veo a las personas hablar de forma pasiva sobre la escritura de aplicaciones que son portátiles en CLR y JVM, y es una buena idea en teoría, pero en la práctica no veo ninguna evidencia de que alguien haya hecho esto por sí mismo. (Si las personas conocen ejemplos, por favor publíquelos.)

+5

+1 solo para el uso de las palabras 'para reales' en una oración.: P –

+1

Para srslys (15 caracteres) – Juliet

3

¿El beneficio en comparación con qué?

¿El beneficio comparado con un idioma diferente, que solo se dirige a una de las grandes plataformas? Bueno, puedes correr en ambas plataformas; acceder a las bibliotecas desde ambas plataformas sin cambiar el idioma;

¿El beneficio de correr en .Net en lugar de JVM? Bueno, si trabajas en un entorno .Net pesado, esto podría ser más un requisito que un beneficio.

¿El beneficio comparado con F #? No sé F #, pero cuando vives en un mundo centrado en .Net, supongo que saber por F # será más fácil que por Scala en el CLR. Suponiendo que los dos idiomas son un tanto comparables, preferiría F #

9

Me encanta Scala pero en el estado actual de su implementación .NET: A Big NO. No se ha actualizado desde hace tiempo. La versión de JVM está realmente mucho por delante. No veo que el puerto .NET de Scala madure lo suficiente como para que coincida con su contraparte JVM en un futuro previsible.

Estarás mejor con F #.

2

Hasta donde yo sé, nadie realmente usa Scala.NET todavía. Si la gente quiere ejecutar el código Scala en .NET, la mejor opción es IKVM. Y Scala funciona bien en IKVM, de todos los informes.

Todavía hay trabajo en curso en Scala.NET, y parece que será viable (con soporte completo de Visual Studio) "eventualmente". This es el recurso más informativo, Miguel Garcia actualmente trabaja para LAMP y creo que está financiado por una subvención de Microsoft para mejorar Scala.NET al estado de producción lista. Pero esto podría ser olvidado ... al menos, hay trabajo desde agosto de 2010, por lo que no está muerto.

Debido a la desbordamiento de la pila de prevención de spam "inteligente", solo puedo publicar un enlace. Por lo tanto, tendrá que buscar en Google "IKVM" e "IKVM scala" para obtener más información. El enlace que incluí es el más difícil de encontrar.

12

Scala on .NET es un esfuerzo continuo dirigido por Miguel Garcia. El último estado es que casi podemos iniciar bootstrap en .NET. No tengo dudas de que algo sólido saldrá de esto, pero aún es muy pronto para hacer compromisos cuando.

A largo plazo, no veo a Scala como un competidor de F # o C#. Sería difícil competir en pie de igualdad con los idiomas que son apoyados de forma nativa por Microsoft. Por otro lado, sí veo cierta atracción de Scala por las tiendas que quieren correr en .NET y en JVM.

+0

¿Cuál es el problema con la competencia con F #? O para decirlo de otra manera: ¿qué tan lejos está el proceso de arranque a un idioma de trabajo? –

+1

@Martin - ¿Scala va a ser un lenguaje de .NET de primera clase en el CLR donde puedo usar fácilmente el framework .NET completo o realmente solo va a ser Scala y las clases de Java usando IKVM.NET para ejecutar en la parte superior de el CLR? ¿Es solo una solución de compatibilidad para ejecutar aplicaciones JVM en el CLR cuando sea necesario o tiene la intención de ser un lenguaje real para los desarrolladores .NET? – Justin

Cuestiones relacionadas