Le premier de ces langages de programmation s'appelle Pure, et selon son site web, « Pure est un langage de programmation fonctionnelle moderne, basé sur la réécriture de termes. Il propose des définitions équationnelles avec une identification des schémas de réponse, des capacités complètes de réécriture par symbole, le typage dynamique, l'évaluation critique et passive, les fermetures lexicales, le support de liste et matriciel et une interface C facile à utiliser ». Wikipedia explique que la « programmation fonctionnelle » est « un paradigme de programmation qui traite le calcul comme une évaluation des fonctions mathématiques et évite les données d'état et mutables ». À titre d'exemple de programmation, le site montre comment s'écrit un programme Pure permettant de calculer les 1000 premiers nombres de la suite de Fibonacci :
extern int puts(char*); do (puts.str) (take 1000 (fibs 0L 1L)) with fibs a b = a : fibs b (a+b) & end;
Pure est disponible, gratuitement, pour FreeBSD, GNU/Linux, Mac OS X et Windows et sous licence GNU Lesser General Public License V3.
Support du parallélismeÂ
En ce qui concerne Julia, il est décrit comme un langage de programmation dynamique pour le calcul scientifique et technique «de haut niveau, très performant, dont la syntaxe est connue des utilisateurs d'autres environnements informatiques techniques. Il offre un compilateur sophistiqué, permet une exécution distribuée en parallèle, la précision numérique et une bibliothèque de fonctions mathématiques très étendue ».
Le fait que Julia supporte le parallélisme est très intéressant, d'autant que le langage « fournit un certain nombre d'éléments clés pour le calcul distribué, ce qui en fait un outil suffisamment flexible pour supporter différents types de parallélisme, et permettre aux utilisateurs d'en ajouter d'autres ». Le site montre comment calculer en parallèle avec Julia le nombre de faces dans plusieurs lancers de pièces :
nheads = @parallel(+) for i=1:100000000 randbit () end
« La fonction @parallel distribue automatiquement le calcul « entre tous les noeuds de calcul disponibles, et le résultat, réduit par addition (+), est retourné au niveau du noeud d'appel », explique le site. Il serait intéressant de voir Julia tourner sur Parallela, un projet Kickstarter lancé l'année dernière, qui a déjà réuni près de 900 000 dollars sur un objectif de 750 000 dollars. Décrite comme « un superordinateur pour tout le monde », cette carte qui tourne sous Linux - elle sera vendue 99 dollars HT -  affichera une performance de 26 gigaflops. Elle serait parfaite pour un langage comme Julia.
Â