Должен ли я выбрать ActivePerl или Strawberry Perl для Windows? [дубликат]

этот вопрос уже есть ответ здесь:

Я совершенно новичок в Perl, но я хотел бы попробовать. Я читал о двух конкурирующих дистрибутивах, доступных для платформы Windows (я думаю, что есть просто Perl на других ОС :).

Википедия говорит, что Strawberry поставляется с дополнительными инструментами dev для компиляции модулей CPAN, если это необходимо. Звучит неплохо.

Он также говорит, что ActivePerl имеет много расфасованных модулей, которые легче установить с PPM. Звучит тоже здорово!

между этими двумя есть явный компромисс. Интересно, что мне выбрать, чтобы начать? Если я выберу один, насколько сложно перейти на другие?

Edit: я дал обоим дистрибутивам пробег на пару недель. Мне на самом деле понравились оба, что хорошо! ни с одним из них нельзя ошибиться. я закончил с ActivePerl просто потому, что он поставляется с автономной документацией(в HTML) - великий Спаситель жизни для тех, кто находится на дороге или просто не всегда связан. Мне было очень легко начать работу с Perl language, пока я был в отпуске, когда я не был всегда онлайн.

клубника не меньше, если не больше. Так что я тоже могу порекомендовать. И я должен сказать, что нужно просто выучить Perl - это очень красивый язык. Попробуйте!

10 ответов


после использования обоих в течение многих лет, я бы сказал, Для меня, по крайней мере, Activeperl-гораздо более удобный выбор. The ppm-Installer включено в Activeperl позволяет добавлять альтернативные хранилища ppm который даст вам доступ почти ко всем полезным модулям perl, доступным на CPAN, но подготовленным и протестированным для windows. Это был для меня, в конечном счете, гораздо лучший (и более надежный) выбор. Даже для версии Windows http-сервера Apache существует предварительно скомпилированный mod_perl (2.0.4) ppm, который будет (сделал для меня) работать из коробки с Activeperl 5.12.1 и Apache 2.2.15.

Я думаю, что я бросил клубнику после попытки установить DBI + DBD:: mysql на Windows 7 (который является ежу понятно в Activeperl, просто нажмите на ppms и выберите Установить).

но, может быть, это уже решено. И, возможно, можно выбрать каталог, в котором устанавливается Strawberry (I не смог).

BTW: для компиляции собственных встроенных или XS-материалов просто установите компилятор MinGW по ppm (Я этого не делал, но это выглядит интересно).

в отношении

rbo

дополнительное соглашение: прочитав комментарий ниже, я снова проверил Strawberry Perl и теперь можно изменить каталог установки, который является обозначенной функцией версии 5.12.0 (это текущая версия). Это решило бы одну важную проблему. (по моему) недостаток клубники Perl (по сравнению с Activeperl).


Strawberry Perl использует CPAN, что означает, что вы в курсе, насколько модули обеспокоены. Когда вещи добавляются в CPAN, у вас есть немедленный доступ к ним. Strawberry Perl также поставляется с MinGW, что означает, что Strawberry Perl может использовать несколько модулей XS непосредственно из CPAN без каких-либо изменений. Распределение MinGW поставляется с gcc, make, ld и другие инструменты, которые помогут вам создавать модули. Я думаю, что Strawberry Perl также поставляется с несколькими модулями, которые позволяют вам установите PPMs (файлы диспетчера пакетов Perl).

ActivePerl устанавливает модули в собственном формате PPM (Perl Package Manager). Официальный репозиторий размещается в ActiveState. Вы можете найти PPMs для большинства популярных модулей, поэтому у вас не должно быть никаких проблем, если вы не ищете неясный или действительно новый пакет (поэтому кровоточащий материал не будет работать, потому что PPM обычно отстает от CPAN). Хотя легче установить чем модули CPAN, PPMs специфически созданы для Windows и поэтому некоторые модули CPAN не будут работать (потому что они делают Unix-специфические вещи).

я использовал оба раньше, и это, казалось, работало для большинства случаев. Но я склоняюсь к Strawberry Perl, потому что среда ближе к Unix, и поэтому существует не так много несовместимостей. С другой стороны, ActivePerl сделан для Windows, и поэтому он очень хорошо работает с Windows.

другой вариант-установить Cygwin и Perl, которые поставляются с Cygwin. Я делал это раньше, и это работает достаточно хорошо. Вы также получаете доступ к CPAN.

выберите то, что вы думаете, лучше всего подходит для вас.


усилительной немного на полезный ответ Vivin Paliath это:

acitvestate / PPM pros: если есть PPM для вашей версии, это будет работать, и просто.

ActiveState / PPM минусы: не всегда есть PPM, или, по крайней мере, не всегда актуальный.

Strawberry / CPAN pros: ваш репозиторий-CPAN, а не куча двоичных файлов, поддерживаемых третьими сторонами. У вас есть новые модули в момент их выпуска автором, и вы используете сборку система, которую задумал автор.

Strawberry / CPAN минусы: не все гарантированно построить отлично с инструментами Windows.

Strawberry / CPAN смягчающий фактор: разработчики Strawberry пытаются очень, очень трудно чтобы убедиться, что все идет гладко и что как можно больше CPAN доступно для вас, и когда модули идентифицируются как проблемные места (трудно построить на Windows, но требуется для других популярных модулей / приложений), они будут либо работайте с автором, чтобы модуль был исправлен так, чтобы все can установите его или в исключительных случаях примените свои собственные исправления и свяжите модуль с Strawberry или Strawberry Professional.

Я предпочитаю клубнику. Я ценю то, что ActiveState пытается сделать, но я думаю, что это узкое место в процессе разработки. Они были необходимые прежде чем сообщество собралось вместе и построило клубнику, чтобы принести окна в " первый мир " экосистемы Perl, но они больше не нужны.


Strawberry более уникален в своем подходе, и я всегда был очень счастлив, когда работал с ним.

ActiveState, однако, из-за своей пользовательской системы управления пакетами, была колоссальной болью, когда я работал с ней. Это имеет значение, когда вы находитесь в корпоративной среде.

для просто возиться, ИМО, клубника лучше. / субъективно


оба велики и работают одинаково. Клубника известна тем, что может создавать модули XS, но вы можете сделать это и с ActiveState, если просто установите SDK Visual Studio (или бесплатную экспресс-версию).

Если у вас есть доступ к Visual Studio, лучшее, что вы можете сделать, это построить Perl из источника (это довольно легко, если Вы читаете README) и продолжать строить свои модули с тем же компилятором. Что на самом деле лучше, чем смесь компилятор / модули.

одна вещь, которую вы должны учитывать при использовании ActiveState: если вы установите его на сервере, обращенном к интернету, то вы обязаны купить лицензию на бизнес ($1000/год/сервер, как отметил Рон Варшавски). Это не означает, что это не сработает, это всего лишь вопрос требования в EULA. Многие люди не знают этого и установили его на серверах с выходом в Интернет без покупки соответствующей лицензии.


в идеальном мире, я бы выбрал debian-interix или pkgsrc-interix perl (не древний Perl, который поставляется с Interix/SFU/SUA), поскольку он предоставляет самую POSIX / UNIX-подобную систему (включая реальную вилку копирования на запись, а не эмуляцию вилки windows от Cygwin). У меня в прошлом (и он установлен на машинах Windows здесь), но не каждый может / будет устанавливать SFU/SUA только для Perl. В этих случаях я бы рекомендовал ActivePerl, в первую очередь для интерфейса знакомство с пользователями Windows (PPM graphical shell против CPAN) и его интеграция с Perl Dev Kit (PerlExe, PerlNET, PerlSvc и friends). Кроме того, вопреки тому, что ответили другие, вы можете использовать CPAN (и оболочку CPAN) с ActivePerl (хотя это связано с установкой необходимых инструментов dev через PPM), Если вам это нужно.


ActivePerl исключает тонны модулей из Community edition, и создание их под Windows-настоящая боль.

кроме того, они позволят вам скачать и использовать только последние версии бесплатно. Все остальное, например, доступ к 5.8.8 или к более ранней версии модулей-это бизнес ($1000/год/сервер) или Enterprise edition (за цитату).


Если ваша конструкция ваше право применения, то оно не должно иметь значение которое вы выбираете.

большой точкой могут быть версии различных модулей, которые каждый может предоставить или не предоставить. Пакеты PPM могут отставать от выпусков CPAN, но если вы не будете осторожны, выпуски CPAN bleeding edge могут нарушить обратную совместимость. Кроме того, иногда будут пакеты PPM для вещей, которые просто не будут правильно строиться под Strawberry (хотя это означает, что модуль плохо спроектирован чаще всего).

просто имейте в виду версии любых модулей, которые вы используете, и вы должны быть в порядке, независимо от того, что вы выбираете.


Если вы используете box.com клиент для синхронизации файлов, то вы, вероятно, хотите (по крайней мере, на данный момент), чтобы пойти с Strawberry Perl. Исполняемый файл ppm конфликтует с одним из Box.com DLL. Графический интерфейс не запускается вообще (давая сообщение Windows, что " perl ... переводчик перестал работать".) У меня также были прерывистые проблемы с использованием версии командной строки ppm, когда Box.com клиент установлен.


Если Ларри Уолл использует клубничный Perl, так и вы. ;)