10 raisons d'apprendre Scala et programmation fonctionnelle

screenshot (1)
Pourquoi apprendre Scala?

L'une des questions que mes lecteurs me posent souvent est: «Les développeurs Java doivent-ils apprendre Scala ? Scala a-t-elle un meilleur avenir que ? Java ? Pourquoi les développeurs Java devraient-ils apprendre Scala, "etc."

Eh bien, il peut y avoir de nombreuses raisons pour apprendre Scala, comme si vous étiez obligé de l'apprendre, car il a été utilisé dans la nouvelle société vous venez de rejoindre le groupe ou votre architecte de solution a décidé de l’utiliser pour le nouveau projet sur lequel vous allez travailler, mais c’est une autre histoire.

Ici, nous allons parler des raisons qui encouragent Java. Les développeurs vont apprendre Scala.

Ces derniers temps, Scala s'est imposé comme l'une des alternatives Java les plus puissantes. C'est la langue de la JVM de choix, laissant derrière Groovy et Kotlin et elle est préférée car les personnes veulent écrire le plus de code. [19659009] Scala a de nombreux points forts, le plus fort étant qu’il s’agit d’un langage multi-paradigme .

Outre la supériorité des idiomes de programmation fonctionnels disponibles pour tirer parti des architectures de processeurs multicœurs, Scala a le droit mélange de paradigme populaire orienté objet .

Il résout non seulement de nombreux problèmes de Java, par exemple: moins ou pas, mais il fournit également plusieurs meilleures pratiques et modèles directement dans le langage, par exemple. immuabilité avec le mot-clé val et les classes de cas.

Malgré la fluidité et la souplesse de langages dynamiques tels que Python il reste un langage fortement typé pour vous empêcher de faire de mauvaises choses.

Je suis certain que les développeurs de Scala ajouteront de nombreuses autres raisons à cette liste, mais étant issu du contexte Java et ardent partisan de Java, je pense que Scala a certainement quelque chose à offrir, et le Les raisons suivantes ont beaucoup de sens pour les développeurs Java d’apprendre Scala

Sans plus tarder, voici ma liste de 10 raisons pour lesquelles un programmeur devrait apprendre Scala:

1. Langage multi-paradigmes

Scala est un peu différent de Java, car il supporte deux paradigmes de programmation: la programmation orientée objet ( OOP ) et la programmation fonctionnelle ( FP ).

. ] Pour améliorer vos compétences en programmation, il est bon d’apprendre au moins une langue sous différents paradigmes, par exemple: impératif, logique, fonctionnel, et OOP, et Scala vous offre la possibilité d’explorer à la fois fonctionnel et OOP

Le livre Pragmatic Programmer vous conseille également d’apprendre chaque année un nouveau langage de programmation. [19659021] Le livre pragmatique pour les programmeurs

Scala permet de définir des types associés aux deux attributs de données (avec des classes se comportant comme C ++ / des classes Java ) et des attributs de comportement (avec des traits correspondant à Comme dans d'autres langages de programmation fonctionnels, les fonctions In Scala, sont des citoyens de première classe (ce qui signifie que vous pouvez les transmettre en tant que valeurs) et Scala prend également en charge les fonctions anonymes et le curry ( application partielle de fonctions multi-arguments).

Cette combinaison de fonctionnalités permet d’écrire des programmes Scala plutôt concis et élégants. Le multi-paradigme est l’un des principaux arguments de vente de Scala, que Java 8 a également tenté d’introduire en introduisant des expressions lambda (voir Java SE 8 New Features ), mais il reste quelques pas en arrière. Je pense que Scala sera toujours plus fonctionnel que Java, mais cela fait l’objet d’un autre débat.

2. Interopérabilité avec Java

À mon avis, le meilleur choix entre Scala et interopérabilité avec Java est la meilleure chose qui soit arrivée à Scala. Scala fonctionne sur la machine virtuelle Java ( de la machine virtuelle Java ) et peut parfaitement interagir avec le code Java.

Cela signifie également que les développeurs Scala peuvent utiliser des bibliothèques Java directement à partir du code Scala.

Étant donné que de nombreux développeurs Java se tournent vers Scala, c’est le moyen idéal de tirer parti de leurs années d’expérience dans la programmation Java réelle.

Il est également possible d’appeler du code Scala à partir de Java et d’écrire facilement une partie de votre texte. programme en Scala et le reste en Java.

En bref, l’interopérabilité avec Java donne à Scala un énorme potentiel pour devenir un langage de programmation courant, alors qu’une grande partie du code mondial est écrite en Java et que tant les développeurs travaillent en Java dans le monde entier.

3. Langage intégré des meilleures pratiques et des modèles

Une chose que vous ignorez peut-être, c'est que ce logiciel a été développé à l'origine à l'université suisse EPFL pour tenter d'appliquer les innovations récentes en matière de recherche sur le langage de programmation à un langage susceptible de gagner du terrain, un peu comme Java.

Plusieurs langages et meilleures pratiques sont intégrés au langage lui-même, par exemple val déclare l'immutabilité de niveau supérieur de niveau supérieur, ce qui est bien meilleur que le mot clé surchargé final en Java ou const / read-only en C # avec les règles étranges qui lui sont associées.

Il a également eu des classes de cas ce qui facilite la création de classes immuables dans Scala

. Scala propose également des fermetures, une fonctionnalité que les langages dynamiques comme Python et Ruby ont été repris du paradigme de la programmation fonctionnelle.

4. Expressivité

Lorsque vous comparez Scala à Java, comme je le faisais dans mon précédent article sur les différences entre entre Scala et Java Scala est certainement très performant par rapport à Java.

Scala est intrinsèquement très expressif. Il y a aussi des tonnes et des tonnes de code vraiment beau et utile écrit en Scala.

Cela attire de plus en plus de développeurs Java pour apprendre Scala, qui aiment écrire du code beau et propre .

Donner Si vous avez une idée, voici le programme de comptage de mots écrit à la fois en Java et en Scala, vous pouvez voir la différence d'expressivité du langage par vous-même.

Scala a réussi en une ligne ce que Java a pris plus de 10 lignes à réaliser.

Le code Scala est plus clair et concis

Soit dit en passant, les choses peuvent être améliorées du côté de Java en utilisant les fonctionnalités de Java 8 comme lambdas and stream qui n’est pas utilisé dans cet exemple, mais qui n’en reste pas moins que Scala est très performant en Java quand il s’agit de code propre et concis.

5. Commercialisable

Quel programmeur ne veut pas être commercialisable? Une raison d'apprendre une nouvelle technologie ou un nouveau cadre est toujours un meilleur développement de l'emploi et de la carrière.

Learning Scala vous rendra certainement plus commercialisable. De nombreuses entreprises utilisent ou migrent actuellement vers Scala, notamment Twitter, LinkedIn, Foursquare et Quora.

Etant donné que Scala est un langage évolutif, les grandes banques d’investissement et les institutions financières ne commenceront pas Solutions à faible temps de latence.

Semblable aux conseils donnés dans Effective Java Twitter a déjà partagé les meilleures pratiques pour développer des programmes dans Scala en tant que Scala efficace.

Les fondateurs de Quora ont passé deux mois à construire un cadre Web Scala pour utiliser Scala

Martin Odersky l’homme derrière Scala, est maintenant à l’origine de la start-up Lightbend ]anciennement appelé Typesafe pour soutenir le développement commercial de Scala.

Tout va dans la bonne direction pour que Scala devienne la principale alternative à Java.

6. Statically Typed

En général, un langage typé statiquement tel que Java empêche les programmeurs de faire de mauvaises choses, tandis qu'avec un langage dynamique tel que Python vous ne connaissez qu'une mauvaise chose lorsque vous exécutez le programme. 19659008] Scala a le meilleur des deux mondes. Cela semble dynamique, mais il est fortement typé statiquement. Le compilateur Scala est vraiment intelligent et utilise l'inférence de type dans toute son étendue.

Scala fournit l'inférence de type pour les variables et les fonctions, bien mieux que l'inférence de type limitée de Java et C # .

7. Growing Frameworks

Une des choses que vous savez peut-être à propos de l'écosystème est que Scala est en croissance.

Les entreprises qui ont commencé à utiliser Scala contribuent également à la croissance récente de Scala en tant que langage courant.

Il existe de jolis frameworks Web Scala, notamment Lift et Play.

Akka, un autre framework simultané basé sur Scala s'est déjà établi en tant que boîte à outils et moteur d'exécution pour la création d'applications pilotées par événement hautement concurrentes, distribuées et tolérantes aux pannes sur la machine virtuelle.

Scala est également utilisé dans Big Data space avec Apache Spark qui a également favorisé son adoption par de nombreux développeurs Java intéressés par le Big Data.

Btw, Si Spark vous intéresse, vous pouvez aussi jetez un oeil au cours sur Apprenez Apache Spark de Scratch sur Udemy

. Growing Community

Parallèlement au langage et aux cadres associés, la communauté Scala se développe également. De nombreux programmeurs, y compris des développeurs Java rejoignent le mouvement de la Scala

De plus en plus d'EDI ont commencé à prendre en charge la syntaxe Scala, et une prise en charge bien meilleure avec Eclipse et IntelliJ . SBT, Maven et Ant

Dans les sondages récents, Scala a également été présenté comme l’alternative numéro un à Java. À mon avis, pour faire de Scala l'alternative réelle de Java, étant donné que Java 8 dispose également d'un support de programmation fonctionnelle il doit attirer de plus en plus de développeurs Java.

Les organisations telles que Twitter à adopter Scala aident certainement la communauté, car elles disposent de plus de ressources et d'influence.

Syntaxe concise

Java a longtemps été critiqué pour sa syntaxe verbeuse et passe-partout. Bien que cela rend Java plus lisible, un peu comme l'anglais, Scala a établi une nouvelle référence en étant à la fois concis et lisible.

Le compilateur Scala, connu sous le nom de scalac (rappelez-vous javac ), fait plus que vous vous attendez. Il peut générer toString () est égal à () hasCode () et autres pour vous. Prenez deux extraits de code de la même classe écrits en Java et en Scala pour vous aider à faire votre choix:

 public class Book {
nom de chaîne final privé;
prix final final privé;
 public Star (String nom, prix double) {
this.name = nom;
this.price = prix;
}
 @Override 
public int hashCode () {
int hash = 7;
hash = 23 * hash + Objects.hashCode (this.name);
renvoyer un hachage;
}
 @Override 
public booléen égal à (Object obj) {
if (obj == null) {
return false;
}
 if (getClass ()! = obj.getClass ()) {
return false;
}
 final Test other = ( Test) obj; 
 if (! Objects.equals (this.name, other.name)) {
renvoie false;
}
 if (Double.doubleToLongBits (this.price)!! = Double .doubleToLongBits (other.price)) {
return false;
}
return true;
}
 @Overri de 
public String toString () {
retourne "Test {" + "nom =" + nom + ", prix =" + prix + "& # 039;}
} [19659074]}

Vous pouvez écrire la même chose en utilisant la classe de cas de Scala:

classe de cas Book (nom: String, price: double) 

À propos, vous pouvez également utiliser la bibliothèque de Lombok, l'une des Bibliothèques essentielles pour les développeurs Java permettant de supprimer le code standard associé aux getters, setters, equals, hashCode et toString. Il peut automatiquement les générer pour vous.

10. Plus facile à apprendre comparé à Haskell, autres langages de programmation fonctionnels

Pour un développeur Java, apprendre un langage de programmation fonctionnel classique comme Haskell ou OCaml est un peu plus difficile que Scala.

En d'autres termes, Scala est relativement facile à apprendre car

Tout en prenant le temps nécessaire pour apprendre la programmation fonctionnelle, les développeurs Java peuvent toujours être productifs dans Scala en exploitant leurs connaissances actuelles de OOP . Comme Java Scala a une syntaxe épurée, de bonnes bibliothèques, une bonne documentation en ligne et de nombreuses personnes l'utilisant dans l'industrie.

Avec une communauté grandissante de Scala sur les forums, il n'est pas difficile de trouver une réponse. à toutes les questions Scala, ce qui ajoute à votre expérience d'apprentissage.

Conclusion

Une fois que vous aurez commencé à apprendre Scala, je suis sûr que vous l'aimerez. Il possède non seulement un code OO plus propre, mais également des fonctionnalités, il est dynamique (comme Python), mais il possède également un système de types statique qui peut vous empêcher de commettre de mauvaises actions. Si vous décidez d'apprendre Scala en 2018 ou 2019, voici quelques ressources utiles pour l'apprentissage ultérieur.

  1. Début de la programmation de Scala
  2. Scala: Mise en route Par Justin Pihony
  3. Scala pour les développeurs Java par Toby Weston
  4. Scala for the Impatient
  5. Programmation fonctionnelle en Scala

Nous vous souhaitons bonne route dans le magnifique monde de Scala et de la programmation fonctionnelle. Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un message.

Si vous aimez cet article, n'hésitez pas à le partager avec vos amis et collègues et n'oubliez pas de suivre javinpaul sur Twitter et javinpaul dans Moyenne!

PS – Si vous avez besoin de quelques ressources GRATUITES, vous pouvez consulter Mini-camp de programmation de Scala pour débutant – Un cours #FREE pour commencer votre aventure Scala.

Scala – Hacker Midi


10 Raisons d'apprendre Scala et la programmation fonctionnelle a été initialement publié dans Hacker Midi sur Medium, où les gens poursuivent la conversation en soulignant et en répondant à cette histoire.

Source

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Faits divers

La police égyptienne enquête sur la photo d’un couple ayant…

Les autorités égyptiennes enquêtent sur un homme et une femme qui auraient eu des relations sexuelles au sommet de la Grande Pyramide de...

Un journaliste de BFM TV accuse un intervenant de ne…

Sur la vidéo, on peut voir un Christophe Couderc, un intervenant invité sur le plateau de BFM TV se...

Etats-Unis: Une enseignante mariée accusée de viol d’un élève de…

Une ENSEIGNANTE américaine à récemment été placée en détention suite à des accusations de viol sur un élève mineur...

Malaisie: Un garçon de 16 ans électrocuté par le casque…

Un garçon est décédé après avoir été électrocuté par des écouteurs branchés sur son téléphone pendant le chargement. Mohammed...

Articles recents

Comment se faire remarquer dans le monde Javascript

Firefox? La source Débuter avec la documentation MDN Le réseau de développeurs Mozillas dispose de la meilleure documentation Javascript sur la planète. Ce que je ne savais pas, c’est...

Le porno fortnite est maintenant plus gros que le porno…

11 décembre 2018 Fortnite est maintenant le terme de jeu le plus populaire sur Pornhub. Pornhub a partagé ses statistiques pour 2018, ce qui signifie que le moment est...

Sante

Deux composés dans les grains de café "progression lente de…

Des chercheurs ont découvert dans le café un composé qui, associé à la caféine, combattait la maladie de Parkinson et la démence à corps de Lewy, deux maladies évolutives...

Désactiver ce gène pourrait vous permettre de manger autant que…

Les scientifiques ont découvert que modifier un seul gène chez la souris leur permettait de manger autant de nourriture qu’ils le désiraient sans prendre de poids. Avec la saison des...

illusions-d-optique-video
plages-cachees-newstrotteur
personnes-incroyables-newstrotteur
endroits-mysterieux-newstrotteur
science-inexpliquees-newstrotteur
mystères_jamais-resolues

Actualité