2010-08-25 4 views
2

Lorsqu'il existe une liste d'avantages des langages fonctionnels, il est généralement mentionné que cela rend la concurrence plus facile car il n'y a pas de variables qui sont sujettes à changement. Mais, comme le sait mon assembleur-école-leçons-mémoire, il y a des registres en cpu et en mémoire, tous deux mutables. Ainsi, lorsque le code fonctionnel de haut niveau est compilé dans un code à bas levier, il devient impératif et mutable. Donc, je ne comprends pas ce qui est l'avantage d'utiliser des langages fonctionnels dans la concurrence. Quelqu'un peut-il expliquer cela?la concurrence fonctionnelle

+1

C'est la mutabilité SHARED dont vous avez besoin de s'inquiéter. Les langages de programmation vous donnent essentiellement une immunité en faisant des copies (ainsi que d'autres astuces astucieuses), il n'a donc pas besoin d'aller aussi loin que les registres, etc. – lucas1000001

Répondre

4

Ce sont les programmeurs, pas les ordinateurs, qui ont du mal avec la concurrence. Donc, dire que l'immuabilité rend les moyens plus faciles sur les humains, pas sur les ordinateurs.

(J'inclue l'écriture du compilateur comme une activité humaine)