111 votes

Dois-je choisir ActivePerl ou Strawberry Perl pour Windows ?

Je suis totalement novice en Perl, mais j'aimerais m'y essayer. J'ai lu que deux distributions concurrentes étaient disponibles pour la plateforme Windows (je suppose qu'il y a juste Perl sur d'autres systèmes d'exploitation :).

Wikipedia dit que Perl aux fraises est livré avec des outils de développement supplémentaires pour compiler les modules CPAN si nécessaire. Cela me semble plutôt bien.

Il est également dit que ActivePerl a beaucoup de modules préemballés qui sont plus faciles à installer avec PPM. Le son est également excellent !

Il y a un compromis clair entre les deux. Et je me demande : Que dois-je choisir pour commencer ? Si j'en choisis un, est-il difficile de migrer vers l'autre ?


J'ai fait fonctionner les deux distributions pendant quelques semaines. En fait, j'ai aimé les deux, ce qui est une bonne chose ! On ne peut pas se tromper avec l'un ou l'autre. J'ai fini par choisir ActivePerl simplement parce qu'il est livré avec une documentation hors ligne. (en HTML) - un excellent moyen de sauver la vie de ceux qui sont sur la route ou qui ne sont pas toujours connectés. Il m'a été super facile de me lancer dans le langage Perl pendant mes vacances, alors que je n'étais pas toujours en ligne.

Strawberry Perl est au moins aussi bon, sinon plus. Je peux donc tout à fait le recommander aussi. Et je dois dire que l'on devrait apprendre Perl - c'est un très beau langage. Essayez-le !

3 votes

AFAICT, la fraise vient avec perldoc donc avec une documentation hors ligne pour tout.

46voto

Vivin Paliath Points 40975

Strawberry Perl utilise CPAN, ce qui signifie que vous êtes à jour en ce qui concerne les modules. Lorsque des choses sont ajoutées au CPAN, vous y avez immédiatement accès. Strawberry Perl est également livré avec MinGW, ce qui signifie que Strawberry Perl peut utiliser un certain nombre de modules XS directement depuis 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 est également livré avec quelques modules qui vous permettent d'installer des PPMs (fichiers Perl Package Manager).

ActivePerl installe les 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 PPMs pour la plupart des modules les plus populaires, vous ne devriez donc pas avoir de problème, à moins que vous ne recherchiez un paquetage obscur ou vraiment nouveau (les choses les plus récentes ne fonctionneront pas car les PPMs sont généralement en retard sur CPAN). Bien que plus faciles à installer que les modules CPAN, les PPM sont spécifiquement créés pour Windows et certains modules CPAN ne fonctionneront pas (parce qu'ils font des choses spécifiques à Unix).

J'ai utilisé les deux auparavant et cela semblait fonctionner dans la plupart des cas. Mais je penche pour Strawberry Perl car l'environnement est plus proche d'Unix et il n'y a donc pas beaucoup d'incompatibilités. D'un autre côté, ActivePerl est fait pour Windows et fonctionne donc très bien avec Windows.

Une autre option consiste à installer Cygwin et Perl qui est fourni avec Cygwin. Je l'ai déjà fait et cela fonctionne raisonnablement bien. Vous avez également accès au CPAN.

Choisissez ce qui vous semble le mieux adapté à votre situation.

38voto

hobbs Points 71946

Pour amplifier un tout petit peu la réponse utile de Vivin Paliath :

Les pros d'ActivePerl / PPM : S'il existe un PPM pour votre version, il va fonctionner, et simplement.

ActivePerl / PPM contre : Il n'y a pas toujours un PPM, ou du moins pas toujours un PPM à jour.

Les pros de Strawberry Perl / CPAN : Votre dépôt est CPAN, pas un tas de binaires maintenus par des tiers. Vous disposez des nouveaux modules au moment où l'auteur les publie, et vous utilisez le système de construction prévu par l'auteur.

Fraise Perl / CPAN contre : Il n'est pas garanti que tout se construise parfaitement avec les outils Windows.

Facteur atténuant Perl / CPAN aux fraises : Les développeurs de Strawberry essaient vraiment, vraiment dur pour s'assurer que tout se passe bien et que la plus grande partie possible du CPAN est à votre disposition, et lorsque des modules sont identifiés comme des points chauds (difficiles à construire sous Windows, mais nécessaires pour d'autres modules/applications populaires), ils travailleront avec l'auteur pour que le module soit corrigé afin que tout le monde puisse utiliser le module. peut l'installer, ou dans des cas exceptionnels, appliquer leurs propres correctifs et regrouper le module avec Strawberry Perl ou Strawberry Perl Professional.

Ma préférence va à Strawberry Perl. J'apprécie ce qu'ActivePerl essaie de faire, mais je pense que c'est un goulot d'étranglement dans le processus de développement. Ils étaient nécessaire avant que la communauté se réunisse et construise Strawberry Perl pour faire entrer Windows dans le "premier monde" de l'écosystème Perl, mais ils ne sont plus nécessaires.

34voto

rubber boots Points 6562

Après avoir utilisé les deux pendant des années, je dirais, pour moi du moins, qu'ActivePerl est un choix beaucoup plus pratique. Le site Installateur PPM inclus dans ActivePerl vous permet d'ajouter des Référentiels PPM alternatifs qui vous donnera accès à presque tous les modules Perl utiles disponibles sur CPAN - mais préparés et testés pour Windows. C'était pour moi, à long terme, un choix bien meilleur (et plus robuste). Même pour la version Windows du serveur HTTP Apache, il y a un mod_perl précompilé (2.0.4) ppm disponible qui fonctionnera (pour moi) avec ActivePerl 5. 12 .1 et Apache 2.2.15 .

Je pense que j'ai laissé tomber Perl de Strawberry après avoir essayé d'installer DBI + DBD::mysql sur Windows 7 (ce qui est un pas de doute dans ActivePerl ; il suffit de cliquer sur le ppms et de choisir installer).

Mais peut-être que c'est résolu maintenant. Et peut-être qu'on peut choisir le répertoire où Strawberry Perl est installé (je n'ai pas pu).

BTW : pour compiler votre propre matériel Inline ou XS, il suffit de installer le compilateur MinGW par ppm (Je ne l'ai pas fait, mais cela semble intéressant).

Addendum Après avoir lu le commentaire ci-dessous, j'ai vérifié à nouveau Strawberry Perl et il est maintenant possible de changer le répertoire d'installation, ce qui est une caractéristique de la version 5.12.0 (qui est la version actuelle). Cela résoudrait un inconvénient important (IMHO) de Strawberry Perl (comparé à ActivePerl).

5 votes

Ppm est également disponible pour Strawberry et DBD::mysql est inclus dans l'installation de Strawberry. Vous pouvez également installer Strawberry 5.12.x dans n'importe quel répertoire.

1 votes

Oui, le répertoire d'installation de Strawberry peut être n'importe où, sauf s'il contient des espaces ou des caractères non ASCII.

8 votes

À un moment donné au cours de l'année dernière, ActivePerl a fait en sorte que la plupart des PPMs disponibles de manière pratique ne soient disponibles via le gestionnaire de paquets que si vous achetez les éditions Business ou Enterprise. Pour ceux d'entre nous qui ont besoin d'une solution gratuite, cela peut valoir la peine de revoir Strawberry.

19voto

Paul Nathan Points 22910

Strawberry Perl est plus Unixy dans son approche, et j'ai toujours été très heureux lorsque j'ai travaillé avec lui.

ActivePerl, cependant, en raison de son système de gestion des paquets personnalisé, a été une douleur colossale lorsque j'ai travaillé avec lui. Ceci est important lorsque vous êtes dans un environnement d'entreprise.

Pour s'amuser, je pense que Strawberry Perl est meilleur. /subjectif

16voto

Francisco Zarabozo Points 1184

Les deux sont excellents et fonctionnent de la même manière. Strawberry Perl est connu pour sa capacité à construire des modules XS, mais vous pouvez aussi le faire avec ActivePerl si vous installez simplement le SDK de Visual Studio (ou la version gratuite 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 prendre en compte si vous utilisez ActiveState : Si vous l'installez sur un serveur tourné vers l'Internet, vous devez acheter une licence Business (1000 $/an/serveur, comme l'a indiqué Ron Warshawsky). Cela ne veut pas dire qu'il ne fonctionnera pas ; il s'agit seulement d'une exigence dans le CLUF. De nombreuses personnes ne le savent pas et l'installent sur des serveurs tournés vers Internet sans acheter la licence correspondante.

4 votes

+1 pour avoir averti qu'ActiveState n'est pas gratuit (contrairement à la croyance populaire).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X