Scala learning series (1) - pourquoi Scala est la première langue très payante pour les mégadonnées

Pourquoi Scala

Bien que l'utilisation de Java soit plus populaire dans le domaine des mégadonnées, Python a également pris de l'ampleur, mais Scala a toujours été dans une position inébranlable. Les familiers Spark, Kafka et Flink sont tous développés par Scala avec leur code principal.

Ainsi, la maîtrise de Scala peut non seulement apprendre le code source des composants du Big Data, mais également améliorer considérablement l'efficacité du développement du Big Data.

C'est pourquoi le niveau de salaire de Scala a été très avancé.

Selon les statistiques salariales du langage de programmation mondial 2019, les quelques meilleurs Scala sont sans aucun doute la langue avec la même demande d'emploi et les mêmes revenus. Bien sûr, il existe une différence entre le revenu et la région. Par exemple, aux États-Unis, Scala a le revenu le plus élevé, qui peut atteindre 143 000, suivi de Clojure (139 000), Go (136 000), Erlang (135 000) et Objective-C (132 000). USD)

Ces données sont basées sur le rapport d'enquête de développeur 2019 de Stack Oveflow sur le classement des salaires du langage de programmation

Pourquoi y a-t-il un salaire aussi élevé?

Cela est probablement dû aux caractéristiques de Scala:

  • Élégance: c'est le premier problème que les concepteurs de framework doivent prendre en compte. Les utilisateurs du framework sont des programmeurs de développement d'applications. Le caractère élégant de l'API affecte directement l'expérience utilisateur.

  • Vitesse rapide: le langage Scala a une forte capacité expressive, une ligne de code vaut plus que Java et la vitesse de développement est rapide; Scala est compilé statiquement, il est donc beaucoup plus rapide que JRuby et Groovy.

  • Peut être intégré à l'écosystème Hadoop: Hadoop est désormais la norme de facto pour le Big Data. Spark n'est pas destiné à remplacer Hadoop, mais à améliorer l'écosystème Hadoop. La plupart du langage JVM peut penser à Java, mais l'API créée par Java est trop moche ou trop laborieuse pour implémenter une API élégante.

C'est pourquoi le code source de nombreux composants Big Data est développé par Scala.

Après avoir maîtrisé Scala, nous pouvons rapidement développer Flink, Spark et d'autres projets de Big Data, et l'efficacité du développement a été considérablement améliorée, et en utilisant la programmation fonctionnelle, le code sera plus concis et plus cool.

Qu'est-ce que Scala

Scala est originaire de l'EPFL, est une abréviation de "Scalable Language" (Scalable Language), Scala est un langage de programmation multi-paradigmes, son intention initiale est d'intégrer la programmation orientée objet et la programmation fonctionnelle Caractéristiques diverses. Vous pouvez utiliser Scala pour écrire des programmes plus rationalisés, et vous pouvez également être utilisé pour construire des systèmes grands et complexes. Vous pouvez également accéder à n'importe quelle bibliothèque de classes Java et interagir avec le cadre Java.

Sur le site officiel, nous voyons la description de Scala:

Scala combine la programmation orientée objet et fonctionnelle dans un langage concis et de haut niveau. Les types statiques de Scala permettent d'éviter les bogues dans les applications complexes, et ses exécutions JVM et JavaScript vous permettent de créer des systèmes hautes performances avec un accès facile à d'énormes écosystèmes de bibliothèques.

Les principales caractéristiques de Scala sont les suivantes:

1. Exécutez sur JVM et JavaScript

Scala tire parti des hautes performances de la JVM et utilise également les riches outils et bibliothèques Java pour son utilisation. Cependant, Scala ne prend pas seulement en charge la JVM, Scala-Js prend déjà en charge Scala fonctionnant sur Js!

scala-js est un compilateur qui compile scala en js.Le but est de construire des applications js stables et évolutives en utilisant les nombreuses bibliothèques de classes de scala et les fonctionnalités de type fort.

2. Type statique

Dans le langage Scala, le typage statique est un outil pour construire des systèmes d'application robustes. Scala corrige certains défauts dans le système de type Java et élimine également beaucoup de code redondant grâce à l'inférence de type.

Langages dynamiques et statiques

  • Langage typé dynamiquement: fait référence au langage qui effectue la vérification du type de données uniquement lors de l'exécution. Lors de la programmation avec un langage dynamique, vous n'avez pas besoin de spécifier le type de données pour la variable. Le langage enregistrera le type de données en interne lorsque vous l'affecterez pour la première fois à la variable. Python et Ruby sont un langage typé dynamiquement typique.

  • Langage à typage statique: Contrairement à un langage à typage dynamique, sa vérification du type de données se produit au stade de la compilation, ce qui signifie que le type de données de la variable doit être déclaré lors de l'écriture du programme. C, C ++, C #, Java sont tous des représentants typiques des langages typés statiquement.

Langue fortement typée et langue faiblement typée

  • Langage fortement typé: langage qui rend obligatoire la définition des types de données. Avant qu'il n'y ait pas de conversion de type obligatoire, deux types de variables différents ne sont pas autorisés à interagir. Les langages fortement typés sont des langages de type sûr tels que Java, C # et Python. Par exemple, "int i = 0.0" en Java ne peut pas être compilé.

  • Langue faiblement typée: langue dont le type de données peut être ignoré. Contrairement aux langages fortement typés, une variable peut se voir attribuer des valeurs de différents types de données, permettant à une mémoire d'être traitée comme plusieurs types, comme l'ajout direct de variables entières et de variables de caractères. JavaScript et PHP sont des langages faiblement typés.

Notez que les langages fortement typés sont inférieurs à la vitesse des langages faiblement typés. L'utilisation de langages faiblement typés peut économiser beaucoup de code et avoir une efficacité de développement plus élevée. Pour la construction de grands projets, l'utilisation de langages fortement typés peut être plus standardisée et fiable que l'utilisation de types faibles.

3. Programmation mixte programmation orientée objet-paradigme, programmation fonctionnelle

Scala prend entièrement en charge la programmation orientée objet (POO). Introduction de traits pour améliorer le modèle objet de Java. Les traits peuvent implémenter de nouveaux types de manière succincte en utilisant une composition maxin. Dans Scala, tout est un objet, même un type numérique.

Scala prend également entièrement en charge la programmation fonctionnelle (FP), qui a été considérée comme le meilleur outil pour résoudre les problèmes de simultanéité, de Big Data et de correction de code. L'utilisation de valeurs, de fonctions, de fonctions d'ordre supérieur et de collections de fonctions immuables peut vous aider à écrire du code concis, puissant et correct.

La programmation fonctionnelle concerne davantage le mappage des données. En utilisant la programmation fonctionnelle, telle que Spark pour WordCount, une seule ligne de code est requise

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

4. Système de type complexe

Scala étend les types Java pour fournir des génériques plus flexibles et quelques améliorations qui aident à améliorer l'exactitude du code. En utilisant la déduction de type. Le code écrit en Scala peut être aussi rationalisé que le code écrit dans un langage de type dynamique. Si vous voulez apprendre systématiquement le Big Data, vous pouvez rejoindre la technologie Big Data pour apprendre la déduction : 522189307

5. Grammaire simple, élégante et flexible

Après avoir utilisé Scala, les longues expressions en Java ont disparu, remplacées par le simple dialecte Scala. Scala fournit des outils qui peuvent être utilisés pour créer des langages spécifiques au domaine (DSL) et des interfaces API conviviales.

6. Architecture évolutive

À l'aide de Scala, vous pouvez écrire de courts scripts explicatifs et les coller dans des applications distribuées à grande échelle. Les quatre mécanismes de langage suivants contribuent à améliorer l'évolutivité du système:

  • Structure hybride utilisant des traits

  • Membres de type abstrait et génériques

  • Classe imbriquée

  • Type d'individu explicite

Scala a une relation étroite avec Java. Scala peut être considérée comme une version améliorée de Java, et ces avantages confèrent également à Scala un énorme avantage concurrentiel.

Scala et Java

Scala a son charme unique. Avec l'ajout du Big Data et l'augmentation du développement du streaming computing, Scala a de plus en plus d'utilisations. Par conséquent, il est difficile de dire si nous choisirons le Big Data à cause de Scala ou Scala à cause du Big Data.

Publié 207 articles originaux · loué 5 · 40 000+ vues

Je suppose que tu aimes

Origine blog.csdn.net/mnbvxiaoxin/article/details/105519341
conseillé
Classement