Lisp est bon pour la programmation / applications Web (interactives), la façon dont Ruby et PHP sont? P>
Les choses à prendre en considération seraient: p>
(éditer) Je faisais particulièrement référence à la LISP commune, après avoir lu essai de Paul Graham . Serait mon premier langage de programmation. À cet égard. Est-ce qu'il convient de le faire? P>
J'entends que la fonctionnalité macro de la clojure n'est pas aussi puissante que celle des Lisp commune, et c'est pourquoi j'essaie d'apprendre le clojure. Il enseigne la programmation et est très puissant. P>
5 Réponses :
Lisp est une famille de langues, pas une seule langue. Pour quelque chose de répondre à votre question, oui, des cadres Web existent pour les différents dialectes LISP, tels que http://docs.raket-lang.org/continue/ p>
Mais un dialecte LISP où vous verrez que beaucoup de développement Web en cours est le clojure, car il peut tirer parti des bibliothèques et des infrastructures de Java existantes. Voici une liste de projets, et ce n'est pas exhaustif: p>
Il y en avoir beaucoup plus, mais je pense que vous avez l'idée. En ce qui concerne les applications Web de Clojure à l'état sauvage, le site d'apprentissage de la clojure 4Clojure serait un exemple et vous pouvez consulter le code source sur Github (je leur apporte de temps en temps): P>
Comme vous pouvez le constater, il y a beaucoup de choses en termes de clojure et de développement Web. Ce n'est peut-être pas toujours une voile en douceur, mais les gens travaillent rapidement pour rendre l'expérience meilleure. L'utilisation de l'infrastructure Java existante a ses avantages, comme la possibilité de déployer sur Google App Moteur, etc.: P>
http://www.infoq.com/articles/deadline-clojure-appengine p>
J'espère que quelque chose répond à votre question ... p> Web InfonNon Web CODE> pour COMMAND LISP et PLT Racket (une dialecte de schéma) a également un tutoriel sur leur site Web: P >
Ça fait :) merci. Je parlais de Lisp commun. Savez-vous comment la clojure se compare à la LISP commune? Je suis un débutant. J'ai trouvé les paradigmes d'intelligence artificielle de Peter Norvig. Et terre de Lisp sur Amazon. Le LISP commun a des macros et d'autres fonctionnalités puissantes qui rendent la programmation très puissante. Dans quelle mesure serais-je capable de transférer mes connaissances de LISP commun au clojure? et être en mesure d'utiliser les mêmes techniques que j'ai apprises dans les Lisp communes? J'ai entendu dire que Clojure ne met pas assez bien les macros.
Outre les différences évidentes de LISP-1 VS LISP-2, il existe certaines différences de paradigmes de programmation (faveurs de clojure Le paradigme fonctionnel, CL est un peu plus ouvert à cet égard), mais vous pourrez toujours transférer beaucoup de Ce que vous avez appris à clojure. Les macros sont un sujet de débat sans fin, demandez aux Schemers des macros hygiéniques ;-) Le système de macro de Clojure est plutôt bon, alors ne vous inquiétez pas :-)
Je n'ai presque aucune expérience de php ou de rubis. Cependant, je peux dire qu'il est assez facile d'écrire une application Web à l'aide de Hunchentoot, CL-OMS et l'un des nombreux retouches de la base de données (PostModern, CL-SQLITE, CLSQL, ou même une simple bibliothèque de sérialisation comme Userial ou Rucksack). p>
Il y a aussi des cadres comme un Web ou des weblocks rares, mais je ne les ai pas encore essayés. P>
Il y a une citation drôle de Kent Pitman p>
"... S'il vous plaît ne supposez pas que LISP n'est utile que pour l'animation et les graphiques, AI, la bioinformatique, B2B et le commerce électronique, les applications de données, les applications EDA / semi-conductrice, les systèmes d'experts, la finance, les agents intelligents, la gestion des connaissances, CAO mécanique, modélisation et simulation, langage naturel, optimisation, recherche, analyse des risques, planification, télécommunication et authentification Web, simplement parce que ce sont les seules choses qu'ils sont arrivées à la liste. " P> blockQuote>
et, regarder, "la création Web" a même fait sur la liste! p>
LISP est bon pour la programmation Web car il est tellement flexible et les expressions S présentant des formes LISP ont de belles similitudes avec HTML. Pour voir ce que je veux dire, consultez LISP pour le Web . Remarquez comment il écrit une macro pour créer essentiellement une langue spécifique à un domaine pour la création de pages Web - au lieu de définir des fonctions, il définit maintenant des pages! Ce concept DSL est également apparent dans la bibliothèque CL-OMS qu'il utilise, ce qui vous permet d'écrire LISP qui se transforme en HTML. P>
Paul Graham a eu succès à rouler sa propre solution tout en créant ce qui est devenu plus tard yahoo! Stocker dans des lisp communs (et encore plus de succès écrire à ce sujet par la suite), et depuis ensuite
de nombreux forfaits ont sénésiré. p> weblocks est le cadre Web de LISP commun qui me semble avoir le plus d'élan en ce moment . Il y a une vidéo de celui-ci en cours de discussion au Villes Twin Cities Lisp Groupe d'utilisateurs . UCW est très similaire, mais je ne vois pas beaucoup d'action dessus maintenant (veuillez m'excuser si je regarde juste dans les mauvais endroits). Le blog post sur la raison pour laquelle le créateur fait des weblocks est assez éclairé: il a essentiellement écrit assez Lisp afin qu'il n'aurait jamais à traiter de HTML, Ajax et Javascript. Cela pourrait être une surestimation, mais le fait qu'il puisse même faire une partie de cela devrait répondre à votre question. P>
Ceci est l'opinion à l'opinion mais la nature de la question, alors voici ma prise. P>
Je voudrais pas em> recommandez un débutant à la programmation pour commencer par une langue fonctionnelle, en particulier un LISP. P>
T concepts de T sur les langages fonctionnelles et surtout des clojures sont plus avancés et le pouvoir qu'il vous donne, vous n'aurez probablement pas besoin dans vos premiers pas dans le développement Web. P>
Donc, puisque vous êtes un débutant, ma réponse serait aucun em>, les LISPS ne sont pas em> aussi facile à apprendre et à utiliser comme rubis et PHP sont. P>
Pour application Web, le cadre est une considération importante que la langue. Si la langue est très puissante mais ne disposez pas de bon cadre Web, le développement de l'application Web devient immédiatement dur et faire face à une complexité connue. p>
Pensez à rubis sans cadre ferroviaire, les gens commencent à l'aimer à cause du cadre ferroviaire. C'est la même chose que Java, en utilisant uniquement des servlet sans JSP ou une autre application Web-cadre en développement sera horrible. P>
Maintenant, viennent à votre point, facile à utiliser toujours relatif - je n'ai pas pu trouver de bout en bout dans la famille Lisp, comme Ruby ou Python. Mais j'ai trouvé que Clojure réduit beaucoup de complexité au côté serveur. Déploiement - Cela dépend du serveur et non de la langue comme le serveur Java nécessite une guerre ou un fichier d'oreille. L'apprentissage - c'est aussi relatif que des outils aident parfois comme le débogage ou l'IDE. Mais la plupart de la famille LISP n'ont pas une bonne option de débogage. p>
Je serais choqué s'il y a une seule langue ce n'est pas vrai de. Certains COBOL fabriqués de manière lunatique sur COGS si cela vous donne une indication de la manière dont les cadres Web prévalent sont ces jours-ci.
Découvrez la question à la différence entre les macros courantes de Lisp et de Clojure: Stackoverflow.com/Questions/9611821/...