Selon une enquête menée auprès des utilisateurs de Clojure, le langage de programmation fonctionnel pour la JVM, qui fonctionne également avec JavaScript et le Common Language Runtime (CLR) de Microsoft, est de plus en plus utilisé au travail. Pourtant, il se heurte encore à certains obstacles. Notamment, les utilisateurs de Clojure ont du mal à convaincre leurs collègues de ses mérites. Ils notent aussi des difficultés à comprendre les messages d'erreur.

D’après les résultats de l'enquête « State of Clojure 2020 », réalisée au mois de janvier par la communauté Clojure, environ 69 % des 2500 personnes interrogées utilisaient le langage au travail, contre 25 % il y a dix ans. L'enquête a également révélé que l'adoption de Clojure avait augmenté dans les entreprises de plus de 1000 personnes.

Selon les utilisateurs du langage, il présente des avantages en programmation fonctionnelle, en REPL (read-eval-print loop), avec les données immuables, pour l’interopérabilité des hôtes, et il facilite le développement.

Le développement web et les projets open source pro Clojure

L'enquête a montré que Clojure était le plus souvent utilisé dans le développement web (79 %), les projets open source (45 %), les services commerciaux (29 %) et les applications d'entreprise (29 % également). Il y a dix ans, l’utilisation de Clojure dans les applications d'entreprise n’existait pas. Les systèmes d'exploitation les plus souvent ciblés pour le développement sont MacOS (55 %), Linux (35 %) et Windows (9 %).

Parmi les obstacles à l'utilisation de Clojure, les personnes interrogées mettent en avant la difficulté de convaincre leurs collègues, les entreprises et les clients, de comprendre les messages d'erreur, de même que la dotation et l’embauche de personnel. Ils estiment aussi que les outils et les IDE auraient besoin d’être améliorés. Pour ce qui est des obstacles à l'utilisation de ClojureScript, un compilateur Clojure vers JavaScript, les personnes interrogées mentionnent l’usage de bibliothèques JavaScript, le débogage du JavaScript généré et l’usage du REPL ClojureScript.