Construisez votre carrière avec Currying à Scala

Publié: 2020-07-06

Table des matières

Introduction à Scala

Scala, un langage de programmation, a été développé par Martin Odersky et son groupe de recherche en 2003. Le développement de Scala a été une révolution dans le monde du Big Data. C'est une langue extrêmement solide et méritée qui allait changer le monde pour les générations à venir. Il est basé sur un compilateur, ce qui le rend extrêmement rapide et efficace.

La marge de manœuvre importante de Scala est la machine virtuelle Java (JVM) . Le code Scala a d'abord été accumulé par un compilateur Scala et le code d'octet pour l'équivalent est créé, qui sera ensuite déplacé vers la machine virtuelle Java pour produire le rendement. Dans ce sens, Scala est devenu le moyen de progresser pour faire face à la taille gigantesque du big-data.

Pourquoi Scala est-elle si appréciée de la communauté des développeurs ?

Scala a plus que quelques raisons d'être préférée par divers programmeurs. Discutons-en quelques-uns ici.

C'est un langage multi-paradigme

Scala est suffisamment compétent pour étayer deux paradigmes de programmation, à savoir la programmation fonctionnelle (FP) et la programmation orientée objet (POO).

Syntaxe succincte

Le compilateur de Scala, également connu sous le nom de Scala, est extrêmement performant et peut exécuter plus que prévu. Pour ne nommer que quelques choses, il peut engendrer hasCode(), equals(), toString(), et plus encore.

Facile à apprendre

Étant donné que Scala prend en charge la programmation orientée objet, il est relativement facile à apprendre pour les programmeurs par rapport à Java. Avec une communauté en ligne en croissance rapide, les forums Scala deviennent de plus en plus récurrents. Une grande partie de cela est due au fait qu'il possède de belles bibliothèques ainsi qu'une syntaxe soignée. Alors que les programmeurs se frayent un chemin à travers la programmation fonctionnelle et apprennent, ils peuvent toujours utiliser leurs compétences préexistantes en programmation orientée objet et construire des choses dans Scala.

Apprendre : Python est-il un langage orienté objet ?

De nouvelles opportunités de carrière

En raison de son évolutivité massive, Scala est de plus en plus demandée dans l'industrie. Avec des marques de premier ordre comme Twitter, Quora, LinkedIn, etc. migrant vers Scala, il est évident qu'elles rechercheraient des codeurs compétents en Scala. Ce n'est qu'une question de temps avant que Scala ne devienne le besoin de l'heure pour d'autres grandes entreprises d'autres secteurs.

Tapé statiquement

Le compilateur Scala utilise son inférence de type au maximum de ses capacités et, par conséquent, bien qu'il semble dynamique, Scala est méthodiquement typé statiquement. Cela permet l'inférence de type pour les variables et les fonctions dans Scala.

Maintenant que nous avons compris ce qu'est Scala, avançons et comprenons le curry en Scala .

Curry à Scala

Currying porte le nom d'un mathématicien américain Haskell Curry, connu pour ses travaux en logique combinatoire.

Currying en Scala peut être défini comme la stratégie derrière l'interprétation de l'évaluation d'une fonction qui prend divers arguments afin d'évaluer un groupe de fonctions, chacune avec une fonction solitaire.

Mathématiquement, nous pouvons l'écrire comme suit -

f1 = f(a)

f2 = f1(b)

résultat = f2(c)

Et, le pseudo-code pour cela sera comme -

résultat = f(a)(b)(c)

Syntaxe de curry

La syntaxe utilisée pour effectuer le currying dans Scala est mentionnée comme suit :

def multiplier(a:Int)(b:Int) = a*b

Il peut aussi s'écrire comme suit :

def multiplie(a:Int) = (b:Int) => a*b

Lire : Salaire d'un développeur Java en Inde : pour les débutants et les expérimentés

Comment appeler une fonction Currying

Afin d'appeler les fonctions de curry dans Scala, nous devons attribuer des valeurs aux variables ' a' et ' b' mentionnées dans les équations ci-dessus.

Que sont les fonctions partiellement appliquées ?

La source

Lorsqu'une fonction est invoquée, cela est fait afin d'appliquer la fonction à un ensemble d'arguments. Dans le cas où vous passez tous les arguments attendus, vous finissez par appliquer complètement la fonction. Lorsque vous envoyez seulement quelques arguments, vous récupérez une fonction partiellement appliquée. Cela vous permet de restreindre quelques arguments et de compléter le reste plus tard.

Exemple de fonction partiellement appliquée –

Étape 1 : Définir une fonction avec plusieurs paramètres

scala> def plus(a : int)(b : int) = a + b

plus : (a : entier)(b : entier)int

Étape 2 : ne donnez que la valeur de la variable «scala> def X = X(2)(_)

X : entier => entier

La sortie crée ici une nouvelle fonction 'X' du type int => int.

Ici, X peut s'écrire comme suit

def X(b:int) = 2 + b

Ce que l'équation ci-dessus montre, c'est que lorsque X est initialisé avec la valeur int initiale de 2, il reste là en attendant une autre valeur int à laquelle il peut ajouter.

En résumé, les fonctions partiellement appliquées donnent les capacités suivantes

  • Vous composez une fonction générale.
  • Vous créez une fonction particulière à partir de la fonction générale.
  • Vous aurez accès aux deux fonctions malgré tout.
  • Vous gardez votre code au sec car vous n'avez pas eu à copier-coller le code pour créer une nouvelle fonction.

Lisez à propos de: Top 27 des questions et réponses d'entrevue Scala pour les débutants

Comparaison des fonctions currying et partiellement appliquées (PAF)

Le curry et les PAF sont étroitement liés. Les fonctions curry et partiellement appliquées peuvent sembler équivalentes - les deux transforment vos fonctions en fonctions avec moins d'arguments. Cependant, il y a une distinction entre eux.

  • Currying dans Scala crée systématiquement des fonctions unaires ou 1-aires imbriquées. La fonction ainsi modifiée est encore, dans une large mesure, similaire à la première.
  • L'application partielle crée des fonctions d'un nombre subjectif d'arguments. La fonction modifiée n'est pas tout à fait la même que la première - elle nécessite moins d'arguments que la première.
  • Le curry dans Scala n'est pas une application partielle, mais il peut très bien être exécuté en utilisant l'application partielle. Vous ne pouvez pas appliquer curry à une fonction si elle ne prend pas la quantité fixe de paramètres. Cela ne fonctionnera pas avec succès autrement.

Cadres Scala

Voici quelques frameworks Scala prééminents que vous pouvez consulter pour bien comprendre Scala -

Cadre de jeu

Ascenseur Web

Cadre de quilleur

C'est le moment de l'histoire où littéralement toutes les portes ont été ouvertes à la génération actuelle pour apprendre et poursuivre ce qu'elle souhaite. Il existe divers instituts, mentors, services, etc. pour permettre l'apprentissage et fournir une validation sous forme de diplômes et de certificats.

De plus, cela peut maintenant être fait dans le confort de sa chambre. u pGrad , étant un acteur de premier plan dans ce segment de l'industrie, a révolutionné le système éducatif, un cours à la fois. Du MBA au droit en passant par l'assurance et la science des données, upGrad a réussi à briser tous les carcans de l'éducation contemporaine et à provoquer une vague de révolution dans le secteur de l'éducation.

Emballer

Pour découvrir le large éventail de nos cours ou pour comprendre comment nous faisons ce que nous faisons, n'hésitez pas à demander un rappel ou à consulter notre site Web .

Si vous souhaitez en savoir plus sur le programme Big Data, consultez notre programme PG Diploma in Software Development Specialization in Big Data qui est conçu pour les professionnels en activité et fournit plus de 7 études de cas et projets, couvre 14 langages et outils de programmation, des mains pratiques- sur les ateliers, plus de 400 heures d'apprentissage rigoureux et d'aide au placement avec les meilleures entreprises.

Apprenez des cours de développement de logiciels en ligne dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.

Maîtrisez la technologie du futur - Big Data

Programme de certificat avancé en Big Data de l'IIIT Bangalore