7
votes

Quelle est la meilleure source indépendante de la langue pour apprendre les lambdas / fermetures?

La plupart des langues de programmation utilisent des lambdas / fermetures. Quelle source agnostique de langue est recommandée comme le meilleur pour apprendre les bases de la Lambda?

lambdas / fermetures dans différentes langues:


1 commentaires

Pour une couverture plus profonde de fermetures en JavaScript, lisez: Jibbering.com/faq/faq_notes/clusuures. HTML


5 Réponses :


3
votes

the Lambda Calculus est la langue agnostique. La réponse dépend de ce que vous entendez par «bases». Au moment où vous choisissez une langue que vous avez perdue votre exigence agnostique.

JavaScript a des fermetures. J'ajouterais cela aussi à la liste. Java ne le fait pas encore.

Je pense que cela revient là où vous avez l'intention de les utiliser éventuellement. Retournez à Lisp ou au schéma, puisqu'ils sont la source, si vous voulez être une vieille école. Choisissez JavaScript ou C # ou Python si vous les utiliserez dans une langue commerciale traditionnelle.


3 commentaires

@DyFFYMO: Adda Lien à la fermeture JavaScript, lien ok? +1


Java peut ne pas avoir de fonctions Lambda, mais il a des fermetures. Lorsque vous implémentez anonymement une interface, les méthodes définies ont accès aux variables extérieures, assurez-vous simplement de les marquer finale.


Les fonctions internes anonymes ne sont pas la même chose que d'avoir des fermetures intégrées. Vous ne pouvez pas transmettre cette fonction intérieure autour et que son contexte extérieur soit encore disponible.



8
votes

Si vous voulez juste quelque chose de facile à digestible, lisez une introduction au calcul de la Lambda et à la programmation . Bien sûr, ce n'est pas un langage-agnostique, mais la mise en œuvre du régime est assez proche.

Pour une compréhension plus profonde, lisez types et programmation Langues - Benjamin Pierce. Programmation théorique des langues avec une étude approfondie du calcul de la Lambda. Complètement langue-agnostique.


1 commentaires

@DANBEN: Merci pour les liens. +1



1
votes

Je ne les apprendrais pas comme une chose "indépendante de la langue", d'abord. Je recommanderais d'en apprendre pratiquement, en les utilisant en JavaScript en premier, puis élargissez à une autre langue (comme Lisp, C #). Ensuite, si vous ressentez la nécessité d'aller plus loin, apprenez les trucs théoriques généraux.


0 commentaires