Lequel dois-je apprendre ? Scala ou Clojure ? J’aimerais apprendre quelque chose qui me rendrait plus employable et ferait de moi un meilleur ingénieur logiciel.


Je viens d'un milieu C/C++ il y a des années et Java depuis 1998. Solidement OO depuis longtemps. J'ai d'abord appris Clojure. Bien qu'il ne ressemble en rien à Java et évite fortement les objets, après une semaine, je me suis retrouvé capable de lire du code avec peu d'efforts, après 2 semaines, je pouvais écrire du code efficace et après 3 semaines, je pouvais écrire des macros. Il m'a fallu environ 6 mois pour écrire du code (principalement) idiomatique. Pour moi, Clojure a été facile à apprendre. Il est très simple, sa syntaxe est très légère et il est très cohérent. Tout cela en fait un chemin direct vers l'apprentissage. La plus grande chose est d'apprendre à penser de manière fonctionnelle. C'est un changement d'esprit.


J'ai fait du Scala au cours des deux dernières années. Mon expérience a été un processus d'apprentissage beaucoup plus lent. Scala est un langage extrêmement riche avec de nombreuses fonctionnalités et éléments différents. Ce n'est pas un langage que vous allez apprendre en une seule bouchée, ou deux ou trois même. C'est un véritable festin. Un langage qui offre à un étudiant dévoué un repas satisfaisant. Mais il faut un développeur au-dessus de la moyenne pour tout apprendre et tirer le meilleur parti de ses efforts.