La programmation fonctionnelle est-elle simplement différente ou est-elle réellement plus difficile ?
Dites quelqu'un qui n'a jamais appris la programmation et qui apprend la programmation fonctionnelle. vs quelqu'un qui n'a jamais appris la programmation du tout auparavant et qui apprend la programmation impérative. lequel trouvera-t-il plus difficile? ou pareil?
Ma question: disons que le problème est maintenant de camel case une entrée,
tel qui qwe_asd_zxc_rty_fgh_vbn
devientqweAsdZxcRtyFghVbn
La voie procédurale est la suivante:
- le diviser le long de la
_
- parcourir le tableau en sautant le premier élément
- pour chaque entrée, nous mettons en majuscule la première lettre
- joindre les résultats ensemble
La manière fonctionnelle est:
- si je ne trouve pas le
_
retourinput
- couper le
input
long du premier_
(de telle sorte que nous obtenonsqwe
etasd_zxc_rty_gfh_cvb
) - mettre en majuscule la première lettre de
head
et concaténer cela avecf(tail)
Ok, si vous avez un arrière-plan fonctionnel ET avez une expérience substantielle en programmation procédurale, je voudrais demander: cela vous prendra-t-il plus de temps pour comprendre la manière procédurale ou cela vous prendra-t-il plus de temps pour comprendre la manière fonctionnelle?
Si vous avez des antécédents procéduraux mais avez de nombreuses années d'expérience avec la programmation fonctionnelle, je voudrais poser la même question: cela vous prendra-t-il plus de temps pour comprendre la manière procédurale ou cela vous prendra-t-il plus de temps pour comprendre le fonctionnel façon?
x=x+1
peut faire exploser un cerveau inattendu. La programmation fonctionnelle est naturelle, elle n'est rien de plus que des fonctions strictement mathématiques pures et convinientes.
map
pour l'étape 3 au lieu d'une boucle de mutation. La deuxième approche est quelque chose que je ne considérerais que s'il n'y a pas de fonction fractionnée dans la bibliothèque standard (auquel cas elle doit être comparée à une solution impérative qui n'utilise pas non plussplit
).