Question Quel pourrait être le moyen le plus rapide et le moins pénible d’apprendre LISP pour un développeur C?


Je travaille en tant que développeur C sur une plate-forme Linux depuis un certain temps. Récemment terminé, K & R a réalisé une petite étude sur la mise en œuvre de la POO dans C. À côté de cela, j'ai étudié le C ++ et Java. Tout cela a été sur la plate-forme Linux.

Je compte maintenant apprendre le LISP. Je suis passé par des discussions LISP dirigées vers les débutants sur SO, en particulier Quelle est la meilleure façon d'apprendre LISP.

Je comprends que le passage du paradigme de la procédure à la programmation fonctionnelle est un grand pas en avant. Penser en termes de nouveau paradigme serait le véritable défi. Tout comme c'était le cas lorsque j'ai appris la POO pour la première fois.

C'est le paradigme qui m'inquiète vraiment. Lorsque j'ai commencé la POO, la plupart du temps, je devais apprendre à voir les problèmes en termes de POO. La syntaxe n'était pas si difficile à saisir.

Maintenant que je travaille en C, mes projets actuels sur mon lieu de travail se trouvent également en C. Je suis préoccupé par la manière dont je pourrais apprendre à voir les problèmes en termes de programmation fonctionnelle.

  1. Quelle pourrait être la meilleure façon de passer à LISP pour un développeur C?
  2. Devrais-je apprendre une autre langue intermédiaire avant de passer au LISP?
  3. Si oui, quelle langue pourrait-il être?
  4. Un texte particulier qui pourrait m'aider à penser à la programmation fonctionnelle?
  5. Une suggestion qui rendrait ce changement plus rapide et plus facile?

Merci pour votre temps. Toute aide et suggestion serait grandement appréciée.


15
2017-08-20 06:40


origine


Réponses:


Duplicata possible

Vous pourriez faire beaucoup moins bien que Cours MIT 6.001 "Structure et interprétation de programmes informatiques". La classe utilise Le texte d'Abelson & Sussman; voir également le site principal du livre pour plus d'informations.

La classe utilise Scheme, un dialecte de LISP qui est nettement plus propre et plus facile à utiliser que Common LISP (oui, il s’agit d’un avis, de le traiter). Passer au Common LISP ne sera pas si difficile plus tard. Paul Graham Sur LISP est un texte "ne prendre aucun prisonnier" sur la programmation dans le Common LISP. Le sien ANSI Common LISP est une introduction plus douce au sujet.

Maintenant pour les mauvaises nouvelles. Faire évoluer le travail sur LISP sera probablement très difficile, car il y a beaucoup plus de travaux C / C ++ et Java sur le marché.

Je recommande de sauter directement dans l'apprentissage du LISP. Ce n'est pas si difficile.

Vous aurez besoin d'un système LISP pour jouer avec. Si vous utilisez Scheme, il est difficile de battre le Système MIT / GNU Scheme. Pour Common LISP, il y a plusieurs choix: Je commencerais probablement par GCL - GNU Common LISP. Des versions sont disponibles pour Linux et Windows.


6
2017-08-20 06:48



Essayez les livres:

Pratique Common Lisp de Peter Siebel (disponible en ligne sur http://www.gigamonkeys.com/book/ ).

Common Lisp ANSI de Paul Graham puis essayez On Lisp du même auteur.

Les paradigmes de la programmation de l'intelligence artificielle: études de cas en Common Lisp par Peter Norvig

Parmi les autres endroits à trouver, citons le canal #lisp sur FreeNode et LispForum ( http://www.lispforum.com/ ).

Parmi ceux-ci, PCL est probablement le plus facile à utiliser, si vous essayez d’apprendre Lisp comme un moyen d’apprendre la programmation fonctionnelle, vous serez déçu, vous pouvez utiliser Lisp pour faire de la FP, mais ce n’est pas strictement un FP. la langue.


10
2017-08-20 07:26



Le livre que j'ai appris à l'origine est Le petit schemer par DP Friedman. La tête dans une mentalité de programmation fonctionnelle.


4
2017-08-24 19:25



Lire "Lisp commun pratique". Dans mon entreprise, nous avons au moins 70 programmeurs utilisant Common Lisp chaque jour pour des programmes complexes et pratiques (recherche de tarifs aériens, systèmes de réservation de compagnies aériennes) et lorsqu'un nouveau programmeur ne connaît pas Lisp, nous lui remettons un copie de "Practical Common Lisp". Je ne peux pas en dire assez sur la qualité de ce livre.


2
2017-08-30 02:51



J'ai trouvé python foundation (fonctions lambda et autres) très utile pour saisir le lisp.

A un moment, j'ai décidé d'apprendre le script emacs, qui utilise le dialecte lisp, et c'était très utile, car vous savez que vous voulez faire quoi que ce soit, au lieu de faire des exercices.

Je pense que vous avez besoin d'un bon éditeur de texte avec un support et un shell lisp. puis essayez simplement de faire un projet cible et de le mettre en œuvre.


1
2017-08-20 06:55



J'ai personnellement trouvé le Tutoriel GNU Emacs Lisp un délice à lire. Cela vous donnera des idées générales.


1
2017-08-20 07:13



Je recommande la première lecture du Succès Lisp jusqu'au chapitre 3, ne continuez pas et lisez le chapitre 4. Mais apprenez à bien comprendre la pensée Lisp. Ensuite, lisez Gentle, et après cela, Common Lisp pratique. A partir de là, seules les expérimentations générales Common Lisp vous aideront.


1
2017-08-28 17:20



J'ai récemment acheté Terre de Lisp, et l'a trouvé très amusant et éducatif. Je peux le recommander.


1
2017-11-26 22:33