Devrais-je choisir ActivePerl ou Strawberry Perl pour Windows? [dupliquer]
cette question a déjà une réponse ici:
Je suis totalement nouveau à Perl mais je voudrais l'essayer. J'ai lu au sujet de deux distributions rivales disponibles pour la plate-forme Windows (je suppose qu'il y a juste Perl sur les autres OS :).
Wikipedia dit que Strawberry vient avec des outils de développement supplémentaires pour compiler des modules CPAN si nécessaire. Semble assez bon pour moi.
il est également dit Qu'ActivePerl a beaucoup de modules préemballés qui sont plus faciles à installer avec PPM. Les sons trop grand!
il y a un compromis évident entre ces deux-là. Et je me demande ce que je devrais choisir pour commencer? Si je choisis comment est-il difficile de migrer vers l'autre?
Edit: j'ai fait tourner les deux distributions pendant quelques semaines. J'ai réellement aimé les deux qui est une bonne chose! on ne peut pas se tromper avec l'un ou l'autre. j'ai fini par aller avec ActivePerl simplement parce qu'il vient avec la documentation hors ligne (en HTML) - une grande vie-Sauveur pour ceux qui sont sur la route ou tout simplement pas toujours connectés. C'était super facile pour moi pour commencer avec Perl langue pendant que j'étais en vacances alors que je n'étais pas toujours en ligne.
la Fraise est au moins aussi grande, sinon plus. Donc je peux totalement le recommander, aussi. Et je dois dire que l'on doit juste apprendre Perl - c'est une très belle langue. Essayez-le!
10 réponses
après avoir utilisé les deux pendant des années, je dirais, pour moi au moins, Activeperl est un choix beaucoup plus commode. Le ppm-installateur inclus dans Activeperl vous permet d'ajouter dépôts ppm alternatifs qui vous donnera accès à presque tous les modules perl utiles disponibles sur CPAN - mais préparé et testé pour windows. C'était pour moi, à long terme, un choix bien meilleur (et plus robuste). Même pour la version windows Du http Apache serveur, il y a un fichier mod_perl (2.0.4) ppm (pour moi) travailler hors de la boîte avec Activeperl 5. 12 .1 et Apache 2.2.15 .
je pense que J'ai laissé tomber Strawberry après avoir essayé d'installer DBI + DBD::mysql sur Windows 7 (qui est un no brainer dans Activeperl, il suffit de cliquer sur le ppms et de choisir Installer).
mais c'est peut-être déjà résolu. Et peut-être on peut choisissez le répertoire où Strawberry est installé (Je ne pourrais pas).
BTW: pour compiler votre propre inline ou des trucs XS, juste installer le compilateur MinGW par ppm (Je ne l'ai pas fait mais il semble intéressant).
concerne
rbo
Addendum : après avoir lu le commentaire ci-dessous, j'ai vérifié encore Strawberry Perl et il est maintenant possible de changer l'installation répertoire, qui est une caractéristique dénotée de la 5.12.0 libération (qui est la version actuelle). Cela résoudrait un problème important (imho) désavantage de la perle de fraise (par rapport à Activeperl).
Strawberry Perl utilise CPAN, ce qui signifie que vous êtes à jour en ce qui concerne les modules. Lorsque des choses sont ajoutées au PAC, vous y avez immédiatement accès. Strawberry Perl est également livré avec MinGW ce qui signifie que Strawberry Perl peut utiliser plusieurs modules XS directement à partir de CPAN sans aucune modification. La distribution MinGW est livrée avec gcc
, make
, ld
et d'autres outils pour vous aider à construire des modules. Je pense que Strawberry Perl vient aussi avec quelques modules qui vous permettent d'installer PPMs (Perl Package Manager files).
ActivePerl installe des modules en utilisant son propre format appelé PPM (Perl Package Manager). Le dépôt officiel est hébergé par ActiveState. Vous pouvez trouver des PMP pour la plupart des modules populaires de sorte que vous ne devriez pas avoir de problème à moins que vous soyez à la recherche d'un paquet obscur ou vraiment nouveau (donc les choses de bord de saignement ne fonctionneront pas parce que PPM est généralement en retard sur CPAN). Bien que plus facile à installer que les modules CPAN, les spécialement créé pour Windows et donc certains modules CPAN ne fonctionneront pas (parce qu'ils font des choses spécifiques à Unix).
j'ai utilisé les deux avant et il semble fonctionner pour la plupart des cas. Mais je penche pour Strawberry Perl parce que L'environnement est plus proche D'Unix et donc il n'y a pas beaucoup d'incompatibilités. D'autre part, ActivePerl est fait pour les fenêtres et donc il fonctionne très bien avec les fenêtres.
une autre option est d'installer Cygwin et Perl qui vient avec Cygwin. Je l'ai fait avant et il fonctionne raisonnablement bien. Vous avez aussi accès à CPAN.
choisissez ce qui vous convient le mieux.
amplifiant un tout petit peu la réponse utile de Vivin Paliath:
AcitveState / PPM pros: S'il y a un PPM pour votre version, ça va marcher, et tout simplement.
ActiveState / PPM cons: il n'y a pas toujours un PPM, ou du moins pas toujours un PPM à jour.
Strawberry / CPAN pros: votre dépôt est CPAN, pas un tas de binaires maintenus par des tiers. Vous avez de nouveaux modules au moment où l'auteur publie et vous utilisez le système de construction que l'auteur avait prévu.
Strawberry / CPAN contre: tout n'est pas garanti pour construire parfaitement avec les outils Windows.
facteur d'atténuation fraise / CPAN: les dévs fraise essayer vraiment, vraiment dur pour s'assurer que tout se passe bien et que la plus grande partie de CPAN possible est disponible pour vous, et lorsque les modules sont identifiés comme des points de trouble (difficile de construire sur Windows, mais requis pour d'autres modules/applications populaires), ils vont soit travailler avec l'auteur pour obtenir le module fixé de sorte que tout le monde peut l'installer, ou dans des cas exceptionnels, appliquer leurs propres correctifs et regrouper le module avec Strawberry ou Strawberry Professional.
je préfère la fraise. J'apprécie ce Qu'ActiveState essaie de faire, mais je pense que c'est un goulot d'étranglement dans le processus de développement. Ils étaient nécessaires avant que la communauté se réunisse et construit des fraises pour apporter des fenêtres dans le "premier monde" de L'écosystème Perl, mais ils ne sont plus nécessaires.
Fraise est plus Unixy dans son approche, et j'ai toujours été très heureux quand j'ai travaillé avec elle.
ActiveState, cependant, en raison de son système de gestion des paquets personnalisé, a été une douleur colossale quand j'ai travaillé avec elle. Cela importe quand vous êtes dans un environnement d'entreprise.
juste pour déconner, IMO, la fraise est mieux. / subjective
les deux sont grands et travaillent le même. Strawberry est connu pour être capable de construire des modules XS, mais vous pouvez le faire aussi avec ActiveState si vous installez simplement le SDK Visual Studio (ou la version Free express).
d'ailleurs, si vous avez accès à Visual Studio, le mieux que vous puissiez faire est de construire Perl à partir des sources (c'est assez facile si vous lisez le README) et de continuer à construire vos modules avec le même compilateur. C'est en fait une meilleure idée que d'avoir un mélange de compilateur/modules.
une chose que vous devez considérer si vous utilisez ActiveState: si vous l'installez sur un serveur faisant face à l'internet, alors vous êtes tenus d'acheter une licence D'entreprise (1000 $/an/serveur comme noté par Ron Warshawsky). Cela ne veut pas dire que ça ne marchera pas, c'est seulement une question d'être une exigence dans le CLUF. Beaucoup de gens ne le savent pas et l'ont installé sur des serveurs faisant face à internet sans acheter la licence correspondante.
dans un monde parfait, je choisirais debian-interix ou pkgsrc-interix perl (pas L'ancienne Perl qui est livrée avec Interix/SFU/SUA) car elle fournit le système le plus POSIX / UNIX-like (y compris la véritable BIK-on-write fork, pas l'émulation Windows fork de Cygwin). J'ai dans le passé (et il est installé sur les machines Windows ici), mais pas tout le monde peut / va installer SFU/SUA juste pour Perl. Dans ces cas, je recommande ActivePerl, principalement pour la familiarité de L'interface avec les utilisateurs de Windows (ppm graphical shell versus CPAN) et son intégration avec le kit Perl Dev (PerlExe, PerlNET, PerlSvc, et friends). En outre, contrairement à ce que d'autres ont répondu, Vous pouvez utiliser CPAN (et le shell CPAN) avec ActivePerl (bien que cela implique d'installer les outils dev nécessaires via PPM d'abord) si vous en avez besoin.
ActivePerl exclut des tonnes de modules de L'édition communautaire et les construire sous des fenêtres est une véritable douleur.
aussi, ils vous permettraient de télécharger et d'utiliser seulement les dernières éditions gratuitement. Tout le reste, comme l'accès à 5.8.8 ou à une version antérieure des modules est soit Business (1000 $ / an / serveur) ou Enterprise edition (Par devis).
si votre dessin ou modèle de votre application droit, il ne devrait pas importe qui vous choisissez.
un grand point pourrait être les versions de divers modules que chacun peut fournir, ou ne pas fournir. Les paquets PPM peuvent être à la traîne par rapport aux versions CPAN, mais si vous n'êtes pas prudent, les versions CPAN de bloeding edge peuvent casser la compatibilité à rebours. De plus, il y a parfois des paquets PPM pour des choses qui ne se construisent pas correctement sous Strawberry (bien que cela implique que le module est mal conçus, plus souvent que pas du tout).
Juste être conscient des versions de tous les modules que vous utilisez, et vous devriez être bien, peu importe qui vous choisissez.
si vous utilisez le box.com client pour synchroniser les fichiers, puis vous voulez probablement (au moins pour le moment) pour aller avec Perl fraise. L'exécutable ppm est en conflit avec l'un des Box.com DLLs. L'interface graphique ne démarre pas du tout (donnant un message Windows que le "perl ... interprète a cessé de fonctionner".) J'ai également eu des problèmes intermittents en utilisant la version en ligne de commande de ppm lorsque le Box.com le client est installé.
si Larry Wall utilise De La Perle de fraise, vous devriez en faire autant. ;)