Pourquoi apprendre Scala ?
4
 min
Monter en compétences
 Publié le 
19/1/2021

Pourquoi apprendre Scala ?

C’est un langage de programmation dont on entend moins parler que Python ou Javascript pourtant Scala est très utile dans certains secteurs notamment parce que c’est un des langages fondamental dans la programmation fonctionnel et que c’est le langage utilisé dans la construction de Spark. Revenons donc sur les raisons principales d’apprendre Scala lorsque vous êtes un professionnel de la Data.

Pour cet article, nous tenons la plupart de nos statistiques des études réalisé par Stackoverflow nommé 2020 Developer Survey. Stackoverflow est le plus grand forum dédié aux développeurs avec plus 100 millions de visites mensuelles sur leur site. 

Pour maîtriser le Big Data 


Spark est écrit en Scala


Le Big Data est une composante majeure des compétences d’un Data Scientist ou Data Engineer. Un des frameworks les plus connus aujourd’hui en Big Data est Spark ! L’avantage de ce framework est sa rapidité à exécuter des requêtes en mettant en mémoire les données. 


Devinez en quoi Spark est écrit ? Scala ! C’est pour cela que si vous avez une grande dimension Big Data dans votre job, vous tomberez un moment sur Scala. 


Un autre framework utilisé est celui d’Hadoop mais Spark reste plus utilisé comme le montre le graphique ci-dessous qui montre la popularité des frameworks parmi les professionnels de la Big Data où le voit que 5.4% des développeurs utilisent Spark contre 4.7% pour les utilisateurs de Hadoop. 




Et que faire si on fait du Hadoop ?


Vous pouvez tout de même utiliser Spark dans la suite Hadoop et de ce fait utiliser Scala. Vous ne perdrez donc pas votre temps à apprendre ce langage même si votre entreprise a une infrastructure fondée sur Hadoop. 


C’est une compétence rare et vous permettra de vous différencier 


Scala est un langage relativement rare mais il n’est pas pour autant moins demandé. De ce fait Scala fait partie des technologies qui rapportent le plus. Au global, le salaire médian des 40 000 répondants qui font du Scala est de 76 000$ par an. Bien que la monnaie soit le dollar américain, les répondants viennent du monde entier. 



En comparaison, le salaire médian des développeurs Python avoisine les 60 000$ / an. Ajouter Scala comme corde à son arc est donc un vrai boost pour sa carrière. 


Si vous visez des grands groupes pour votre carrière, Scala est très demandé 


En effet, les grands groupes ont souvent des infrastructures qui découlent de Java car ils utilisent très souvent la JVM (Java Virtual Machine). Etant donné que ces mêmes groupes ont des grands volumes de données à gérer, ils passent sur les technologies liées au Big Data et il est plus simple d’utiliser du Spark Scala que par exemple du PySpark (la version Python de Spark) étant donné que Scala est un langage assez proche de Java qui utilise aussi la JVM comme interpréteur. 


Ce n’est pas si compliqué à apprendre connaissant Python


Si vous venez de l’univers Data, il y a de fortes chances que vous sachiez déjà coder en Python. Ce qui est une très bonne base pour apprendre Scala. Pour information, Scala est 10x plus rapide que Python en termes de vitesse d’exécution (ce qui constitue d’ailleurs une autre raison pour laquelle Scala est utilisé pour le Big Data). 


Bien que Scala soit plus complexe que Python à apprendre, vous ne serez pas complètement perdu par rapport à sauter le pas directement vers du Java par exemple. En effet, vous pouvez écrire du Scala en mode programmation orientée objet, ce qui ressemble beaucoup à ce que vous faites déjà en Python. 


Hello World en Scala 


Hello World en Python


Connaître un nouveau paradigme de code - le fonctionnel


Si vous avez appris à coder en Python, vous avez appris à utiliser le paradigme de programmation qu’est l’orienté objet. Le principe est simple que vous pouvez considérer des éléments de codes comme des objets que vous pouvez incorporer dans des fonctions (appelées méthodes) qui elle-même peuvent être incorporées dans des classes. N’hésitez pas à lire notre article sur la programmation orientée objet 


Bien que vous puissiez faire de la programmation orientée objet en Scala, il existe un autre paradigme dans lequel vous pouvez coder qui est la programmation fonctionnelle qui est plutôt un système déclaratif basé sur l’évaluation de fonctions. Ce paradigme est aussi très utilisé et permet d’optimiser beaucoup le temps de calcul pour certains types de tâches. 


Une bonne introduction à Java


Si vous prévoyez d’évaluer dans votre carrière, l’apprentissage de Java peut être à considérer étant donné que c’est un langage très utilisé dans les grands groupes (comme les petits) pour gérer leurs infrastructures.


En plus d’être open-source, c’est en effet un langage que Github considère comme l’un des plus populaires lorsqu’il s’agit de la programmation d’application web client-serveur. 


Mais surtout c’est un langage extrêmement généraliste que vous pouvez utiliser partout dès que vous avez besoin de créer des applications robustes. Des entreprises comme Uber, Amazon, Google, Netflix ou encore Slack utilisent Java tous les jours dans leur produit. 


Comment se former à Scala ?

Quoi chercher ?


Il existe un certain nombre de formations liées à Scala, nous vous conseillons de choisir parmi celles qui incorpore Scala dans une problématique de Big Data car c’est un bon moyen d’avoir une introduction “douce” au langage tout en comprenant les enjeux liés à l’apprentissage de celui-ci. 


Pour quel prix ?


Si vous tapez “formation Scala” sur Google, vous verrez qu’une formation coûte aux alentours de 2000€ pour 3 jours. 


Notre formation Lead Data 


Si vous cherchez une formation en Scala, n’hésitez pas à regarder notre formation intensive en Lead Data dans laquelle nous commençons par Scala pour aller rapidement vers du Spark Scala. Si vous venez de l’univers Python ou R, cela constitue une bonne introduction au langage et vous mènerez des projets qui vous feront comprendre l’utilité du langage sans pour autant vous noyer dans des considérations trop complexes, au départ, de programmation fonctionnelle. L’objectif est de vous rendre opérationnel en entreprise et que vous commenciez à utiliser Scala dans la gestion de problématiques Big Data. 



Rejoignez la communauté sur JULIE !

Python, SQL, gestion de projet Data, toutes les compétences à acquérir pour monter en compétences avec cours en ligne gratuits.

Antoine Krajnc
Écrit par
Antoine Krajnc
 - 
Fondateur
Jedha

Python : le language de programmation le plus
populaire parmi les professionnels de la Data !

Obtenez notre livre d'Introduction Pratique à Python !

Programmes, thématiques Data, admissions,
vous avez une question ?

Prenez rendez-vous avec nos équipes