Construya su carrera con Currying en Scala
Publicado: 2020-07-06Tabla de contenido
Introducción a Scala
Scala, un lenguaje de programación, fue desarrollado por Martin Odersky y su grupo de investigación en 2003. El desarrollo de Scala fue una revolución en el mundo de los grandes datos. Es un lenguaje extremadamente robusto y meritorio que iba a cambiar el mundo para las generaciones venideras. Está basado en un compilador, lo que lo hace extremadamente rápido y eficiente.
El margen de maniobra significativo de Scala es la máquina virtual de Java (JVM) . El código de Scala primero fue acumulado por un compilador de Scala y se crea el código de bytes para el equivalente, que luego se moverá a la máquina virtual de Java para producir el rendimiento. En este sentido, Scala se convirtió en el camino a seguir para hacer frente a la gigantesca medida del big-data.
¿Por qué Scala es tan apreciado en la comunidad de programación?
Scala tiene más de unas pocas razones para ser preferido por varios programadores. Vamos a discutir algunos de ellos aquí.
Es un lenguaje multiparadigma
Scala es lo suficientemente competente como para respaldar dos paradigmas de programación, es decir, la Programación funcional (FP) y la Programación orientada a objetos (OOP).
sintaxis sucinta
El compilador en Scala, también conocido como Scala, es extremadamente capaz y puede realizar más de lo que espera. Para nombrar algunas cosas, puede generar hasCode(), equals(), toString() y más.
Fácil de aprender
Dado que Scala admite la programación orientada a objetos, es relativamente fácil de aprender para los programadores en comparación con Java. Con una comunidad en línea en rápido crecimiento, los foros de Scala son cada vez más recurrentes. Una parte importante de esto se debe a que tiene excelentes bibliotecas junto con una sintaxis ordenada. Mientras los programadores se abren camino a través de la programación funcional y aprenden, aún pueden usar sus habilidades de programación orientada a objetos preexistentes y construir cosas en Scala.

Aprender: ¿Python es un lenguaje orientado a objetos?
Nuevas oportunidades de carrera
Debido a su escalabilidad masiva, Scala ahora tiene cada vez más demanda en la industria. Con marcas de primer nivel como Twitter, Quora, LinkedIn, etc. migrando a Scala, es obvio que estarían buscando codificadores expertos en Scala. Es solo cuestión de tiempo hasta que Scala se convierta en la necesidad del momento para otras empresas importantes en otras industrias.
Escrito estáticamente
El compilador de Scala utiliza su inferencia de tipo al máximo de su capacidad y, por lo tanto, aunque se siente dinámico, Scala se tipifica metódicamente de forma estática. Esto permite la inferencia de tipos para variables y funciones en Scala.
Ahora que hemos entendido qué es Scala, avancemos y entendamos el curry en Scala .
Curry en Scala
Currying lleva el nombre del matemático estadounidense Haskell Curry, conocido por su trabajo en lógica combinatoria.
Currying en Scala se puede definir como la estrategia detrás de la interpretación de la evaluación de una función que toma varios argumentos para evaluar un grupo de funciones, cada una con una función solitaria.
Matemáticamente, podemos escribirlo de la siguiente manera:
f1 = f(a)
f2 = f1(b)
resultado = f2(c)
Y, el pseudocódigo para esto será como –
resultado = f(a)(b)(c)
Sintaxis de curry
La sintaxis utilizada para realizar curry en Scala se menciona a continuación:
def multiplicar(a:Int)(b:Int) = a*b
También se puede escribir como sigue:

def multiplicar(a:Int) = (b:Int) => a*b
Leer: Salario de desarrollador de Java en India: para principiantes y experimentados
Cómo llamar a una función de Curry
Para llamar a las funciones de curry en Scala, tenemos que asignar valores a las variables ' a' y ' b' mencionadas en las ecuaciones anteriores.
¿Qué son las funciones parcialmente aplicadas?
Fuente
Cuando se invoca una función, se hace para aplicar la función a un conjunto de argumentos. En el caso de que pases todos los argumentos previstos, terminas aplicando la función por completo. Cuando envía solo un par de argumentos, obtiene una función aplicada parcialmente. Esto le da la posibilidad de restringir algunos argumentos y completar el resto más tarde.
Ejemplo de una función parcialmente aplicada –
Paso 1: Definir una función con múltiples parámetros
escala> def más(a: int)(b: int) = a + b
más: (a: int)(b: int)int
Paso 2: proporcione solo el valor de la variable ' escala> def X = X(2)(_)
X: int => int
La salida aquí crea una nueva función 'X' del tipo int => int.
Aquí, X se puede escribir de la siguiente manera
definición X(b:int) = 2 + b
Lo que representa la ecuación anterior es que cuando X se siembra con el valor int inicial de 2, se sienta allí esperando otro valor int al que pueda agregar.
Como resumen, las funciones parcialmente aplicadas dan las siguientes capacidades
- Usted compone una función general.
- Haces una función particular de la función general.
- Tendrás acceso a ambas funciones a pesar de todo.
- Mantiene su código seco ya que no tuvo que copiar y pegar el código para crear una nueva función.
Lea acerca de: Las 27 mejores preguntas y respuestas de entrevistas de Scala para principiantes
Comparación de Currying y funciones parcialmente aplicadas (PAF)
El curry y los PAF están estrechamente relacionados. Las funciones Curry y parcialmente aplicadas pueden parecer equivalentes; ambas transforman sus funciones en otras con menos argumentos. Sin embargo, hay una distinción entre ellos.
- Currying en Scala crea consistentemente funciones unarias o 1-arias anidadas. La función así cambiada sigue siendo, en gran medida, similar a la primera.
- La aplicación parcial crea funciones de un número subjetivo de argumentos. La función modificada no es exactamente igual a la primera: necesita menos argumentos en comparación con la primera.
- Currying en Scala no es una aplicación parcial, pero se puede ejecutar muy bien utilizando la aplicación parcial. No puede aplicar curry a una función si no toma la cantidad fija de parámetros. De lo contrario, no funcionará con éxito.
Marcos Scala
Aquí hay algunos marcos de Scala preeminentes que puede consultar para obtener una buena comprensión de Scala:
Marco de juego
Ascensor Web
Marco del jugador de bolos

Este es el momento de la historia en el que, literalmente, todas las puertas se han abierto a la generación actual para aprender y perseguir lo que desean. Hay diversos institutos, mentores, servicios, etc. para permitir el aprendizaje y proporcionar validación en forma de títulos y certificados.
Lo que es más, es que ahora se puede hacer desde la comodidad de su dormitorio. u pGrad , ser uno de los principales actores en este segmento de la industria ha revolucionado el sistema educativo, un curso a la vez. Desde MBA hasta derecho, seguros y ciencia de datos, upGrad ha logrado romper todos los grilletes de la educación contemporánea y provocar una ola de revolución en el sector educativo.
Terminando
Para ver el amplio espectro de nuestros cursos o para comprender cómo hacemos lo que hacemos, no dude en solicitar una devolución de llamada o visite nuestro sitio web .
Si está interesado en saber más sobre el programa Big Data, consulte nuestro programa PG Diploma in Software Development Specialization in Big Data, que está diseñado para profesionales que trabajan y proporciona más de 7 estudios de casos y proyectos, cubre 14 lenguajes y herramientas de programación, manos prácticas. en talleres, más de 400 horas de aprendizaje riguroso y asistencia para la colocación laboral con las mejores firmas.
Aprenda cursos de desarrollo de software en línea de las mejores universidades del mundo. Obtenga Programas PG Ejecutivos, Programas de Certificado Avanzado o Programas de Maestría para acelerar su carrera.
