Scala learning series (1) -por qué Scala es el primer lenguaje bien pagado para big data

¿Por qué es Scala?

Aunque el uso de Java es más popular en el campo de los grandes datos, Python también ha ganado impulso, pero Scala siempre ha estado en una posición inquebrantable. Los familiares Spark, Kafka y Flink son desarrollados por Scala con su código central.

Por lo tanto, dominar Scala no solo puede aprender el código fuente de los componentes de Big Data, sino que también puede mejorar en gran medida la eficiencia del desarrollo de Big Data.

Es por eso que el nivel salarial de Scala ha estado muy por delante.

De acuerdo con las estadísticas salariales del lenguaje de programación global de 2019, los primeros Scala son, sin duda, el idioma con la misma demanda de trabajo e ingresos pendientes. Por supuesto, hay una diferencia entre el ingreso y la región. Por ejemplo, en los Estados Unidos, Scala tiene el ingreso más alto, que puede alcanzar 143k, seguido de Clojure (139k), Go (136k), Erlang (135k) y Objective-C (132k) USD)

Estos datos se basan en el informe de la encuesta para desarrolladores de Stack Oveflow 2019 sobre las clasificaciones salariales del lenguaje de programación

¿Por qué hay un salario tan alto?

Esto probablemente se deba a las características de Scala:

  • Elegancia: este es el primer tema que deben considerar los diseñadores de marcos. Los usuarios del marco son programadores de desarrollo de aplicaciones. Si la API es elegante afecta directamente la experiencia del usuario.

  • Velocidad rápida: el lenguaje Scala tiene una fuerte capacidad expresiva, una línea de código vale más que Java, y la velocidad de desarrollo es rápida; Scala está compilada estáticamente, por lo que es mucho más rápido que JRuby y Groovy.

  • Puede integrarse en el ecosistema de Hadoop: Hadoop es ahora el estándar de facto para big data. Spark no está destinado a reemplazar a Hadoop, sino a mejorar el ecosistema de Hadoop. La mayoría del lenguaje JVM puede pensar en Java, pero la API hecha por Java es demasiado fea o es demasiado laboriosa para implementar una API elegante.

Es por eso que Scala desarrolla el código fuente de muchos componentes de Big Data.

Después de dominar Scala, podemos desarrollar rápidamente Flink, Spark y otros proyectos de big data, y la eficiencia del desarrollo se ha mejorado enormemente, y usando la programación funcional, el código será más conciso y genial.

¿Qué es Scala?

Scala se originó en el Instituto Federal Suizo de Tecnología de Lausana (EPEL), es una abreviatura de "lenguaje escalable" (lenguaje escalable), Scala es un lenguaje de programación multi-paradigma, su intención original es integrar la programación orientada a objetos y la programación funcional. Varias características Puede usar Scala para escribir programas más optimizados, y también puede usarse para construir sistemas grandes y complejos.También puede acceder a cualquier biblioteca de clases de Java e interactuar con el marco de Java.

A través del sitio web oficial vemos la descripción de Scala:

Scala combina programación orientada a objetos y funcional en un lenguaje conciso de alto nivel. Los tipos estáticos de Scala ayudan a evitar errores en aplicaciones complejas, y sus tiempos de ejecución JVM y JavaScript le permiten construir sistemas de alto rendimiento con fácil acceso a enormes ecosistemas de bibliotecas.

Las características principales de Scala son las siguientes:

1. Ejecutar en JVM y JavaScript

Scala aprovecha el alto rendimiento de la JVM y también utiliza las ricas herramientas y bibliotecas de Java para su uso. Sin embargo, Scala no solo es compatible con JVM, ¡Scala-Js ya es compatible con Scala que se ejecuta en Js!

scala-js es un compilador que compila scala en js. El propósito es construir aplicaciones js estables y escalables utilizando las numerosas bibliotecas de clases y características fuertemente tipadas de scala.

2. Tipo estático

En el lenguaje Scala, la escritura estática es una herramienta para construir sistemas de aplicaciones robustos. Scala corrige algunos defectos en el sistema de tipos Java, y también elimina una gran cantidad de código redundante a través de la inferencia de tipos.

Lenguajes dinámicos y estáticos.

  • Idioma de tipo dinámico: se refiere al idioma que realiza la verificación del tipo de datos solo en tiempo de ejecución. Al programar con lenguaje dinámico, no necesita especificar el tipo de datos para la variable, ya que el idioma registrará el tipo de datos internamente cuando lo asigne por primera vez a la variable. Python y Ruby son un lenguaje típico escrito dinámicamente.

  • Lenguaje estáticamente tipado: justo lo contrario del lenguaje tipado dinámicamente, su verificación del tipo de datos ocurre en la etapa de compilación, lo que significa que el tipo de datos de la variable debe declararse al escribir el programa. C, C ++, C #, Java son todos representantes típicos de lenguajes estáticamente tipados.

Lenguaje fuertemente tipado y lenguaje débilmente tipado

  • Lenguaje fuertemente tipado: el lenguaje que obliga a definir los tipos de datos. Antes de que no haya una conversión de tipo obligatoria, no se permite la interoperabilidad de dos tipos diferentes de variables. Los lenguajes fuertemente tipados son lenguajes de tipo seguro como Java, C # y Python. Por ejemplo, "int i = 0.0" en Java no se puede compilar.

  • Idioma débilmente escrito: un idioma cuyo tipo de datos puede ignorarse. Contrariamente a los idiomas fuertemente tipados, a una variable se le pueden asignar valores de diferentes tipos de datos, lo que permite que una memoria se trate como varios tipos, como agregar directamente variables enteras y variables de caracteres. JavaScript y PHP son lenguajes débilmente escritos.

Tenga en cuenta que los idiomas fuertemente tipados son inferiores a los idiomas débilmente tipados en velocidad. El uso de idiomas débilmente tipados puede ahorrar mucho código y tener una mayor eficiencia de desarrollo. Para construir proyectos grandes, el uso de lenguajes fuertemente tipados puede ser más estandarizado y confiable que el uso de tipos débiles.

3. Programación mixta, programación orientada a objetos y paradigma, programación funcional

Scala es totalmente compatible con la programación orientada a objetos (OOP). Rasgos introducidos para mejorar el modelo de objetos de Java. Los rasgos pueden implementar nuevos tipos de manera sucinta mediante el uso de una composición de maxina. En Scala, todo es un objeto, incluso un tipo numérico.

Scala también es totalmente compatible con la programación funcional (FP). La programación funcional ha sido considerada como la mejor herramienta para resolver problemas de concurrencia, big data y corrección de código. El uso de valores inmutables, funciones, funciones de orden superior y colecciones de funciones puede ayudarlo a escribir código conciso, potente y correcto.

La programación funcional está más relacionada con el mapeo de datos. Usando la programación funcional, como Spark para WordCount, solo se requiere una línea de código

sc.textFile("/home/centos/test.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_ + _).collect

4. Sistema de tipo complejo

Scala extiende los tipos de Java para proporcionar genéricos más flexibles y algunas mejoras que ayudan a mejorar la corrección del código. Mediante el uso de la deducción de tipo. El código escrito en Scala puede ser tan simple como el código escrito en un lenguaje de tipo dinámico. Si desea aprender Big Data sistemáticamente, puede unirse a la tecnología de Big Data para conocer la deducción : 522189307

5. Gramática simple, elegante y flexible.

Después de usar Scala, las expresiones largas en Java desaparecen, reemplazadas por el simple dialecto Scala. Scala proporciona herramientas que pueden usarse para construir lenguajes específicos de dominio (DSL) e interfaces API fáciles de usar.

6. Arquitectura escalable

Con Scala, puede escribir scripts explicativos cortos y pegarlos en aplicaciones distribuidas a gran escala. Los siguientes cuatro mecanismos de lenguaje ayudan a mejorar la escalabilidad del sistema:

  • Estructura híbrida usando rasgos

  • Miembros de tipo abstracto y genéricos

  • Clase anidada

  • Auto-tipo explícito

Scala tiene una estrecha relación con Java. Scala puede considerarse como una versión mejorada de Java, y estas ventajas también le dan a Scala una gran ventaja competitiva.

Scala y Java

Scala tiene su encanto único. Con la incorporación de Big Data y el aumento en el desarrollo de la informática de transmisión, Scala tiene cada vez más usos. Por lo tanto, es difícil decir si elegiremos Big Data debido a Scala o Scala debido a Big Data.

207 artículos originales publicados · elogiados 5 · 40,000+ vistas

Supongo que te gusta

Origin blog.csdn.net/mnbvxiaoxin/article/details/105519341
Recomendado
Clasificación