¿Cuál es la diferencia entre un futuro y una promesa? (En Akka y Gpars.) A mí me parecen iguales, ya que ambos bloquean y devuelven el valor del futuro cuando se llama a get y se promete obtener el resultado de un
Scala es un lenguaje de programación de propósito general dirigido principalmente a la máquina virtual Java. Diseñado para expresar patrones de programación comunes de forma concisa, elegante y segura, fusiona los estilos de programación imperativos y funcionales.
¿Cuál es la diferencia entre un futuro y una promesa? (En Akka y Gpars.) A mí me parecen iguales, ya que ambos bloquean y devuelven el valor del futuro cuando se llama a get y se promete obtener el resultado de un
Me estoy sumergiendo en el mundo de la programación funcional y sigo leyendo en todas partes que los lenguajes funcionales son mejores para programas multihilo / multinúcleo. Entiendo cómo los lenguajes funcionales hacen muchas cosas de manera diferente, como la recursión , números aleatorios,...
F # y Scala son lenguajes de programación funcional que no obligan al desarrollador a usar solo tipos de datos inmutables. Ambos tienen soporte para objetos, pueden usar bibliotecas escritas en otros idiomas y ejecutarse en una máquina virtual. Ambos idiomas parecen estar basados en ML. ¿Cuáles...
Hay algunos problemas que los tipos de datos algebraicos pueden resolver fácilmente, por ejemplo, un tipo de lista puede expresarse de manera muy sucinta como: data ConsList a = Empty | ConsCell a (ConsList a) consmap f Empty = Empty consmap f (ConsCell a b) = ConsCell (f a) (consmap f b) l =...
He estado trabajando con akka durante 7-8 meses a diario. Cuando comencé, estaba trabajando en aplicaciones y noté que los actores se usarían básicamente en cualquier lugar una vez dentro del sistema de actores para comunicarse entre la mayoría de los objetos. Así que hice lo mismo: girar a otro...
Scala no tiene una palabra clave estática , sino que tiene una funcionalidad similar a través de objetos complementarios. Detrás de escena, los objetos complementarios se compilan en clases que tienen métodos estáticos, por lo que todo esto es azúcar sintáctico. ¿Cuáles son las ventajas de esta...
En primer lugar, me gustaría dejar en claro que esta no es una pregunta de lenguaje X versus lenguaje Y para determinar cuál es mejor. He estado usando Java durante mucho tiempo y tengo la intención de seguir usándolo. Paralelo a esto, actualmente estoy aprendiendo Scala con gran interés: aparte...
La mayoría de los lenguajes de programación (lenguajes de tipo dinámico y estático) tienen palabras clave y / o sintaxis especiales que se ven muy diferentes a las variables de declaración para funciones de declaración. Veo funciones tan solo como declarar otra entidad con nombre: Por ejemplo en...
Antecedentes Volví a visitar un sitio antiguo (pero excelente) en el que no había estado durante años: el Alioth Language Shootout ( http://benchmarksgame.alioth.debian.org/ ). Comencé a programar en C / C ++ hace varios años, pero desde entonces he estado trabajando casi exclusivamente en Java...
Clojure no realiza la optimización de llamadas de cola por sí solo: cuando tiene una función recursiva de cola y desea optimizarla, debe usar la forma especial recur. Del mismo modo, si tiene dos funciones recursivas entre sí, puede optimizarlas solo mediante el uso trampoline. El compilador Scala...
Hace muchas, muchas lunas, hice mi maestría en Ingeniería de Software Orientada a Objetos. Cubrí todo: iniciación de proyectos, requisitos, análisis, diseño, arquitectura, desarrollo, etc. Mi libro favorito de TI de todos los tiempos fue Desarrollando software orientado a objetos, un enfoque basado...
Últimamente me han interesado algunos de los conceptos de programación funcional. He usado OOP desde hace algún tiempo. Puedo ver cómo construiría una aplicación bastante compleja en OOP. Cada objeto sabría cómo hacer las cosas que hace ese objeto. O cualquier cosa que haga la clase de padres...
Me pregunto si puedo cambiar de Java a Scala en un proyecto Spring + Hibernate para aprovechar algunas características de Scala, como la coincidencia de patrones, la Opción y lo que me parece una sintaxis más limpia en general. He estado buscando el ORM por defecto en el ecosistema Scala y he...
He leído un poco sobre semántica denotativa (DS) y estoy muy intrigado por el proceso de diseño de programas de computadora donde los tipos y funciones tienen asignaciones claras y fuertes a las matemáticas. ¿Hay algún recurso que discuta el diseño de programas basados en DS en detalle? He visto...
Me pregunto cuáles son las diferencias de implementación técnica entre C # y Scala y cómo ambas soluciones se comparan con las ideas y preocupaciones de implementación expresadas en el correo electrónico Peek Past lambda de Brian Goetz, enviado a la lista de correo del Proyecto Lambda (JSR 335)...
Estoy seguro de que esta pregunta se ha hecho muchas veces. Sin embargo, me gustaría volver a preguntarlo con la intención de cuál es el futuro de estos idiomas. Me presentaron por primera vez a Groovy y realmente me gustó. Sentí que la sintaxis era más simple y estaba mucho más cerca de Java y...
Sé que esta es una pregunta muy amplia, ambigua y posiblemente filosófica. Hasta cierto punto, la palabra clave más importante en la pregunta, el sistema de tipo "fuerte", está mal definida . Entonces, déjame intentar explicar lo que quiero decir. Contexto general de la pregunta Hemos estado...
¿Alguien sabe por qué se implementó Scala en Java y .NET en lugar de C o C ++? La mayoría de los lenguajes se implementan con Cor C ++ [es decir, Erlang, Python, PHP, Ruby, Perl]. ¿Cuáles son las ventajas para Scala implementadas en Java y .NET además de dar acceso a las bibliotecas Java y...
Cerrada . Esta pregunta está basada en la opinión . Actualmente no está aceptando respuestas. ¿Quieres mejorar esta pregunta? Actualice la pregunta para que pueda ser respondida con hechos y citas editando esta publicación . Cerrado hace 6 años . Así que...
He leído este artículo: Cómo escribir un método de igualdad en Java . Básicamente, proporciona una solución para un método equals () que admite la herencia: Point2D twoD = new Point2D(10, 20); Point3D threeD = new Point3D(10, 20, 50); twoD.equals(threeD); // true threeD.equals(twoD); //...