Compte la fréquence des lettres dans des textes en utilisant le calcul parallèle.
Le parallélisme consiste à faire en parallèle des choses qui peuvent aussi être faites de manière séquentielle. Un exemple courant est le comptage de la fréquence des lettres. Utilise le parallélisme pour calculer la fréquence totale de chaque lettre dans un tableau de textes.
D'après cette terminologie, tu devrais écrire un programme parallèle et déterministe et (surtout !) laisser Scala gérer l'aspect concurrence. Sinon, ton code pourrait vite devenir brouillon et propice aux erreurs, avec toutes sortes de sales bugs de concurrence. En particulier, ton programme pourrait devenir non déterministe, ce qui signifie en pratique : très (en fait, TRÈS) difficile à déboguer, à tester et à analyser.
Cela dit, ce serait sans doute une bonne idée d'écrire d'abord une solution séquentielle (et d'utiliser la suite de tests pour la vérifier). C'est seulement ensuite que tu devrais essayer de la paralléliser, en gardant les parties séquentielles et parallèles de ton code aussi séparées que possible.
Une première itération pourrait consister à utiliser les collections parallèles de Scala. Tu trouveras peut-être que c'est presque trop simple (surtout si tu as suivi nos conseils et que tu as déjà une solution séquentielle).
Pour la deuxième itération, on te recommande d'essayer une solution avec scala.concurrent.Future.
Tu peux consulter ce tutoriel et sa suite pour t'aider.
Assure-toi que
scala.concurrent.Future est utilisé dans de nombreuses bibliothèques et c'est la recommandation du docteur pour la programmation parallèle et asynchrone en Scala.
C'est donc essentiel pour maîtriser le langage, et cela devrait faire partie de ton arsenal Scala.
Inscris-toi sur Exercism pour apprendre et maîtriser Scala avec 95 exercices, et un vrai mentorat humain, le tout gratuitement.
On explore les différences entre concurrence et parallélisme, en examinant les différentes approches adoptées par des langages comme JavaScript, Go, Elixir et Rust.