J'essaie d'en savoir plus sur Erlang que sur les projets de jouets avec lesquels je joue. À cette fin, je lis la programmation d'Erlang et certaines des archives d' Armstrong sur le logiciel .
Je voudrais également lire un exemple de code (de préférence de production) qui présente le genre de choses que vous pouvez créer avec Erlang qui seraient disproportionnellement difficiles dans d'autres langues. Mis à part (je suppose) Yaws , y a-t-il des exemples publiquement disponibles de beau code Erlang que je pourrais lire pour mieux comprendre le langage et / ou voir les utilisations idiomatiques de diverses constructions de langage?
Je ne recherche pas spécifiquement de code qui "fait le travail" mais utilise des pratiques douteuses ou des exemples du type "voici comment vous écrivez factorial
en Erlang".
Dans la même veine, quelqu'un peut-il recommander une bonne littérature pour apprendre cette langue (autre que la "programmation Erlang" mentionnée)? De préférence, quelque chose que vous avez vous-même utilisé pour l'apprendre, mais s'il y a des livres standard pour la communauté, jetez-les aussi.
Réponses:
Une autre bonne référence est Erlang et OTP in Action .
À propos des exemples de code: il est assez difficile de trouver les meilleures pratiques pour Erlang, mais je vous suggère d'essayer ces sites Web:
Vérifiez les liens de cet article (logiciel open source écrit en erlang) et vous pourriez trouver du code intéressant.
la source
Depuis que vous avez ajouté la balise fonctionnelle-programmation, que diriez-vous d'écrire un compilateur ou un interprète Erlang dans Haskell? Erlang n'est plus du tout à la pointe de la technologie, comme du tout. Je recommande d'apprendre Erlang en un ou deux jours, comme certaines autres langues (LISP, Prolog), puis de les oublier; ils ne sont qu'une étape pour désapprendre les langages OOP impératifs.
Pour des tâches plus petites que l'implémentation d'un compilateur, voir Project Euler .
[EDIT] Pour répondre au commentaire:
D'un point de vue technique: Erlang était bon dans le passé, quand il n'y avait pas de processeurs multicœurs. Mais maintenant, étant donné les compilateurs / interprètes existants dont je suis conscient, il ne se modifie plus comme il se doit. Un interprète écrit en Haskell évoluerait, compilé en Haskell le rendrait plus rapide mais supprimerait la fonctionnalité de remplacement de code à la volée.
Du point de vue des programmeurs: Haskell n'est pas pour toutes les tâches applicables le meilleur choix, mais atm, les langages probablement plus avancés sont très expérimentaux, et ces tâches non applicables ont généralement quelque chose à voir avec les systèmes embarqués (comme les microcontrôleurs et les GPU) ou nombrecrunching, où C et Assembler sont toujours le meilleur choix.
Qu'est-ce que vous pourriez faire de mieux avec Erlang que dans d'autres langues?
la source