J'ai décidé d'aller avec Clojure pour l'instant. p>
LISPDEV n'est pas prêt, et Eclipse / CUSP n'était pas assez stable pour que je me sente à l'aise. P>
Quant à Clojure, après un processus très long, très frustrant et très gênant, essayant d'obtenir Eclipse / CCW, Netbeans / Couchrojure et Intellij / La Clojure, je enfin em> Eclipse / CCW fonctionnel. Les autres sont toujours dans des états principalement brisés. p>
(Si je me débrouille, je vais documenter ce qu'il a fallu pour moi em> pour faire fonctionner Eclipse / CCW.) P>
Alors pour le moment, je vais l'utiliser. Je peux me remettre dans CL et vérifier les versions gratuites de Lispworks et Allegrolisp, mais le clojure ressemble à une étape plus naturelle pour moi de travailler dans l'environnement Microsoft CLR. P>
Merci à tout le monde pour l'aide. P>
Je suis un développeur C # très familier avec Visual Studio (avec Resharper). P>
Je suis nouveau à Lisps. J'ai récemment pris intérêt pour les Lisp et la clojure communes, et j'ai trouvé beaucoup de bons matériaux à leur deux. P>
J'ai essayé Emacs + Slime, mais cela ressemble à une solution datée très reculée. Je n'ai aucun doute sur son pouvoir, mais c'est une convivialité n'est rien comme ce que j'ai l'habitude de. Je ne veux pas lutter avec une IDE en plus de la langue. P>
Il y a des plug-ins Eclipse pour le clojure et CL. Il y a aussi un couple de plus d'options que j'ai vues pour le clojure. Puisque je ne suis pas un java dev, je ne sais rien de ces idées. P>
Eclipse est un bon endroit pour commencer? Y a-t-il d'autres bonnes options? P>
EDIT: P>
Voici les fonctionnalités que je suis habituées à: P>
La plupart de tout est disponible dans le menu contextuel de clic droit, ou comme une combinaison de combinaison de ComboBox ou de zone de texte à mesure que vous tapez. P>
Je ne dis pas que Emacs / Slime ne peut pas faire ça, mais si c'est le cas, cela n'utilise rien de similaire en termes de techniques de convivialité. P>
7 Réponses :
Peut-être que vous devriez donner Jabberwocky a essayez. p>
Il y a aussi lispide et Studio LISP . P>
Malheureusement, Jabberwocky n'est plus en développement. La dernière version est sortie en septembre 2007.
Parfois, le logiciel fonctionne simplement et n'a pas besoin d'être mis à jour. : P Je suppose que je devrais lui donner plus d'options, tho '
J'ai mis à jour la question à mentionner les fonctionnalités que je suis habituées, car je suppose que la plupart des devs LISP ne savent pas ce que propose VS 2010 + Resharper.
Allegro Common Lisp a un IDE fourni avec qui peut être d'intérêt (bien que je ne sois pas sûr si vous pouvez l'utiliser avec d'autres LIFP). Le plug-in Eclipse est appelé cusp et peut être trouvé ici , bien qu'il y ait une fourchette de il ici appelé Lispdev qui a peut-être été mis à jour plus récemment. P>
Il peut y avoir des trucs utiles sur le jeu LISP Wiki, en particulier la page d'applications utiles ici < / a>. p>
Personnellement, j'aime utiliser Emacs + Slime avec certains des outils EMACS conçus pour le rendre plus identique. P>
Wow, il ressemble à Franz rattrapé avec les années 90. Je n'ai pas vu MDI comme ça depuis Windows 3.1 et les premières versions de NT. - Mais merci pour les liens. Je vais jeter un coup d'œil au jeu Lisp Wiki et CUSP.
Allegro est un rendez-vous terriblement coûteux.
Je pense que Lispdev a une version plus récente que CUSP, mais même cela n'a pas été mis à jour depuis septembre 2010.
J'ai mis à jour le message pour mentionner les fonctionnalités que je suis habituées, car je suppose que la plupart des devs LISP ne savent pas ce que les offres VS 2010 + Resharper.
ISHPECK: J'ai tendance à être d'accord, mais il dit qu'il est habitué à VS2010 avec Resharper. Selon leurs pages Web respectives, Allegro commence à 599 $ et VS2010 commence à 549 $ et à Resharper à 149 $. Il semble donc de comparaître de manière comparable.
Si vous êtes habitué à Visual Studio et que vous souhaitez un produit similaire pour LISP, l'équivalent sera probablement un IDE commercial similaire. Les grands que je connaisse sont allegro et Lispworks . p>
Je n'ai utilisé personnellement ni un pour un travail réel (c'est-à-dire un grand projet), bien que j'ai essayé des démos. Ils semblaient assez beaux, si un peu complexe et avec des UIS étranges, mais pas tant mieux que la monteuse de mourir d'argent pour moi. Mais si vous voulez quelque chose comme vs, ils peuvent être exactement ce que vous recherchez. P>
FWIW, je fais à la fois C # et des Lisp communs dans Emacs, et je trouve la boue d'être 10 fois supérieure à tout ensemble de modes que j'ai trouvés pour l'édition C # jusqu'à présent. Venez penser à cela, je ne connais aucun environnement de développement pour une langue ou une plate-forme de développement, je préfère utiliser - c'est ce bien. P>
Un problème que vous avez peut-être, c'est que LISP elle-même est une langue suffisante différente de ce que vous êtes habitué à cette vieille manières de faire des choses ne s'appliquent plus, alors tout em> IDE peut sembler "en arrière" à vous. (J'ai appris Lisp bien avant que c #, et c # semble en arrière et daté de moi!) Donc, au lieu d'apprendre quelques commandes SLime (il n'y a pas beaucoup de choses dont vous avez vraiment besoin), vous apprenez des commandes IDE, ce qui pourrait ne pas être plus facile pour Depuis que les concepts sont identiques et ne correspondent pas nécessairement aux fonctionnalités de l'IDE ressemblant à VS. P>
Mais bonne chance avec tout ce que vous choisissez! p>
Ouais, je peux comprendre c # dans un environnement non-vs, bien, subparent. Des versions plus anciennes de Visual Studio pâle pour même d'utiliser une instance VIM pour éditer et une fenêtre de commande pour construire C #. Cependant, VS 2010 + Resharper est une combinaison de meurtres. Je pense que je pourrais éditer le poste pour signaler spécifiquement les fonctionnalités que je recherchent dans un environnement.
J'ai mis à jour la question à mentionner les fonctionnalités que je suis habituées, car je suppose que la plupart des devs LISP ne savent pas ce que propose VS 2010 + Resharper.
Je ne pense pas que leurs idées sont «bizarres».
C # est principalement utilisé en mode lot. L'IDE montre ceci. Il connaît la syntaxe d'une langue fixe, invoque un compilateur et utilise la sortie de divers outils, comme le compilateur. P>
Le LISP commun est légèrement différent. Les IDes sont soit intégrés dans les LISP commun (Allegro Cl, Lispworks, CCL), soit dans quelque chose comme Emacs et se connecter à une LISP en cours d'exécution (SLIME / EMACS). Le mode de développement majeur est interactif. Un programme est en cours d'exécution et l'IDE le modifie. P>
Pour Emacs, on utilise Slime avec les extensions Paredit et Redshank . Voir: Modification du code LISP avec Emacs . P>
Syntaxe de la syntaxe et autoindentation (tout le monde a ceci, donc c'est un point de théâtre) p>
Ceci est fourni par les IDES. P> LI>
Autocompéquation des fonctions et des noms de variables p>
Ceci est fourni par les IDES. P> LI>
Affichages en temps réel de toutes les surcharges et paramètres de fonction et la possibilité de monter / descendre dans la liste lors de la saisie des paramètres P>
Les LISP communes n'ont pas de "surcharges". Il est possible de parcourir les fonctions génériques (Clos) dans IDes. P> LI>
Suggestions de syntaxe pour l'amélioration du code, avec la possibilité de les faire pour vous ("Utiliser un const", "Convertir en expression Linq (FP)" "," La variable ne sera jamais affectée à "", "la variable ne sera jamais attribuée être utilisé "," variable pourrait être null "," la fonction ne sera jamais utilisée ", etc.) p>
Compilateurs LISP SORTIE CONSEILS ET AVERTISSEMENTS. Il y a aussi des suggestions de style par certains. P>
CL-UTILISER 15> (DEFUN FOO (A B) A) Foo p>
CL-User 16> (Compiler 'FOO)
;;; * em> avertissement dans FOO: B est lié mais non référencé
Foo p>
Les implémentations tels que Lispworks peuvent parcourir l'ensemble des avertissements et des erreurs. P> Li>
Méthode d'extrait / Fonction Refactoring: Sélectionnez un bloc de texte et peut être extrait dans une nouvelle fonction. P>
Les outils peuvent le faire. Voir par exemple Redshank. P> Li>
Créer une variable refactoring: sélectionnez un bloc de texte et créez une variable (par exemple, A let) p>
reshank. p> li>
Renommer refactoring: renommer une fonction ou une déclaration de variable et toutes les autres fonctions utilisant son utilisation seront mises à jour (recherche automatisée / remplacement) p>
Utilisez la recherche et remplacez les outils de l'IDE. Notez que, puisque Lisp a une syntaxe programmable, le problème n'est pas satisfable de manière générale. P> li>
Aller à la définition d'une méthode / fonction, variable p>
méta-. , Définition de la définition META-X EDIT P> LI>
Recherche d'usages / références à une méthode / une fonction particulière, variable p>
Appels Qui fonctionne dans IDES. P> LI>
Outils de gestion de projet basé sur des dossiers intégrés et outils de construction p>
Voir Outils système. P> LI>
"Déplacer la classe en un nouveau fichier" qui crée un nouveau fichier basé sur le nom de la classe et contenant toutes ses méthodes p>
Common Lisp ne fonctionne pas de cette façon. Les méthodes et les classes ne sont pas connectées comme en C #. P> li>
"Fichier Renommer basé sur le type de classe" qui renomme le fichier si vous modifiez le nom de la classe p>
Common Lisp ne fonctionne pas de cette façon. On n'écrire pas de fichier pour une classe. P> li>
f9 / cliquez à gauche de la ligne pour ajouter / supprimer des points d'arrêt p>
dépend de l'IDE. Utilisez la fonction de fonction sinon. P> li>
f10 / f11 Pour entrer dans ou sur le code ou sur le code lors du débogage, avec une flèche et une surbrillance pour montrer quel code exécute actuellement (étape dans une exécution de fonctionnement, ou simplement l'exécuter ici) p>
Utilisez l'étape de fonction ou l'outil IDE. P> LI>
La plupart de tout est disponible dans un menu contextuel de clic droit ou comme une combinaison de combinaison de ComboBox ou de zone de texte à mesure que vous tapez. P>
oui. p> li>
ul>
Je penserais que vous devez vérifier la boue plus en détail, car cela fait beaucoup ce que vous décrivez en combinaison avec des caractéristiques habituelles de LISP commun telles que l'étape, la rupture et la trace. P>
Il peut également être utile de lire le manuel de l'IDE LISPWorks, qui fournit les fonctionnalités équivalentes dans une interface graphique portable et plus: P>
Merci pour l'explication de l'article-by-item. On dirait que j'ai juste besoin de creuser plus profondément et de surmonter le fait qu'il "se sent" différente. (Re: l'autre fil, je ne voulais pas que cela soit argumentatif; je tente juste d'apprendre et de comprendre)
Si vous êtes nouveau dans LISP et non un utilisateur EMACS actuellement, je recommande vivement les éditions gratuites de Allegro Lisp ou de Lispworks. Ou, si vous allez la route du schéma, PLT Schéma (qui est maintenant appelé Raquette). p>
Tous les trois ont très bien des idées riches. Appeler des arbres, tapez à l'avance, les points d'arrêt de l'éditeur et la plupart des choses que vous êtes habitués à partir de l'IDE traditionnel. p>
Je sais que c'est une ancienne question mais - pour Clojure - Que diriez-vous de NightCode? De même, je ne voulais pas gaspiller le temps d'apprentissage des langues à apprendre un nouvel éditeur (c'est-à-dire Emacs / Slime). J'ai trouvé de la nuit très utilisable. P>
Je me trouve maintenant vouloir que la boîte de nuit puisse soutenir les LISP commun (peut-être sous forme d'abcl) aussi! P>
Je suis content que quelqu'un a posté ceci. Non seulement la boîte de nuit est incroyable (et plus amicale de débutant que l'éclairage à mon avis), mais ils ont même une version en nuage à zéro setup sur NightCoders.net
Bien que cette question soit ancienne et que l'OP s'est tourné vers Clojure, je pense que cela reste une question valable, en particulier pour ceux qui cherchent à apprendre des LISP courants et sont réticents à passer de Visual Studio ou de vouloir simplement apprendre quelque chose de nouveau Avec un outil auquel ils sont familiers, de réduire au moins la barrière à l'entrée dans une langue aussi importante, les mêmes raisons pour lesquelles cette question a été posée. P>
J'ai écrit un article expliquant exactement comment y parvenir, en utilisant Visual Studio en tant que IDE LISP , qui serait une substitution presque grande pour la combinaison EMACS + SLIME. P>
Les étapes pour atteindre cette configuration sont les suivantes: p>
Avec cette configuration ci-dessus, vous aurez une réplique intégrée et voler la souris sur les fonctions / macros LISP vous donnera des info-bulles avec les signatures et les définitions. Cela devrait accomplir la plupart des fonctionnalités demandées dans la question initiale. P>
Il a peut-être été malheureux qu'au moment de la poser de cette question, ces outils n'étaient pas assez matures / créés pour être entièrement intégrés, car il s'agit maintenant, ou personne n'était au courant ou suffisamment intéressé à l'époque. P >
En tant que bonus, si vous connaissez déjà C ++, ma recommandation serait de vérifier intégrable Common Lisp (ECL) , comme cela vous permet d'intégrer LISP dans votre code C ++ ou d'appeler C ++ de LISP, quelle est la qualité de celle combinée à Visual Studio? P>
La plupart de ces fonctionnalités que vous êtes habitués à être assez spécifiques aux langues C # -Type. Les LISP communes ont des cours, mais vous ne les utiliserez probablement pas très souvent. Les LISP communes ont un système de condition et une replaction, qui a tendance à entraîner une manière différente de déboguer. Peu importe ce que vous choisissez (Emacs ou IDE), vous n'allez probablement pas être très heureux si vous essayez de faire le développement C # -Style dans Lisp. Lisp ne va jamais être un meilleur c # que c #.
@Ken: Les classes de bibliothèques et d'applications de LISP communes sont très souvent utilisées.
Rainer: Peut-être que j'utilise les mauvaises bibliothèques et j'écris mon code faux? Je pense que je vois un
déficide code> chaque ligne (ordre de magnitude) 1000 lignes, tandis que dans C # I Voir
classe code> toutes les 100 lignes.