Должен ли новичок в Perl изучать Perl 5 и 6? [закрыто]

21

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

Мой вопрос, поскольку Perl 6 медленно реализуется (я полагаю ...) и, как говорят, нарушает обратную совместимость, заключается в следующем: лучше ли я изучаю Perl 5, а затем Perl 6, или изучаю Perl 6 напрямую, лучше инвестируя время? тебе?

Если изменения с Perl 5 на 6 затрудняют понимание Perl 5, я, безусловно, должен начать с Perl 5, чтобы иметь возможность читать «старые» скрипты, затем проверить Perl 6. Существует также «Perl 6 еще не полностью». выпустила "проблему". Я знаю, что есть ранняя реализация адаптера для Perl 6, но если Perl 6 не будет официально выпущен еще через несколько лет, я сейчас остановлюсь на 5.

Я, конечно, хотел бы немного понять это. Не стесняйтесь обсуждать связанные вещи. Мой интерес к языкам сценариев довольно новый.

Благодарность!

Joanis
источник
3
Perl 6 еще не был выпущен. Если вам это нужно для «реальной работы», тогда сконцентрируйтесь на Perl 5.
Собираюсь с голосами, после всего этого времени, но много интересных ответов ИМО. Мне нравится, что вы привели идею, что Perl 5 и 6 должны рассматриваться на разных языках. Благодарность!
Джоанис

Ответы:

21

Perl 5 и Perl 6 - это разные языки, а не две версии одного и того же. Perl 6 в значительной степени вдохновлен Perl 5, но не исключительно. Я бы предложил сосредоточиться на Perl 5 на данный момент. Если вы наблюдаете за сообществом (я бы предложил агрегатор Planet Perl Iron Man , вы также увидите сообщения и контент сообщества Perl 6 и сможете следить за ним. Кроме того, многие функции Perl 6 постепенно возвращаются к Perl 5.

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

phaylon
источник
13

Да, для Perl 5

Конечно, иди изучай Ruby и даже Python, но Perl другой. И умный без причины. Perl - это один из тех языков, на котором вы можете изучать вещи, которые вы никогда не хотели, и радоваться, что вы это сделали, и все же вам придется перечитывать книгу «Верблюд» каждые несколько лет, просто чтобы вы не очистили мысленно свои перлизмы.

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

Perl 5 - это то, что я считаю Perl 1.5. Perl 6 - это то, что я считаю Perl 2.0, может быть, даже должно быть совершенно иначе названо что-то другое, так что да, и 5, и 6 стоят того, чтобы изучать их сами по себе и ради своих достоинств. Отказ от ответственности = Я все еще борюсь с Perl6 сам ...

Jé Queue
источник
4

В ответ на вопрос в заголовке: да!

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

Тем не менее, вы, безусловно, должны идти в ногу с проектом Perl 6 и его прогрессом. Я потратил некоторое время на изучение Python 3 до его первого выпуска, просто чтобы понять, какие изменения были внесены и почему. Это помогло мне при переходе с кодовой базы 2.x на 3.x.

Я бы не стал тратить слишком много времени на изучение входов и выходов Perl 6; глубокое понимание Perl 5 пока что будет вам полезнее. Но как только он выйдет (когда это будет ужасно), базовое понимание Perl 6 поможет вам продолжать двигаться вперед.

bedwyr
источник
3

Perl 5 - это стабильная линия, которая, вероятно, будет развиваться не так, как Perl 6. Perl 6, вероятно, придется выяснить новое имя, чем Perl.

Откровенно говоря, Perl 6 потрясающий . Но он еще недостаточно стабилен для корпоративного использования (по крайней мере, насколько я понимаю). Конечно, стабильный на предприятии означает Perl 5.8 в моем опыте ...

Пол Натан
источник
1

Не учите Perl 6.

CPAN еще даже не поддерживает это. (Я подозреваю, что он будет поставляться с модулем, который позволяет играть в Duke Nukem Forever полностью с помощью регулярных выражений ...)

Кевин Канту
источник
Хе-хе ... vapourware ftw!
Саймон Уитакер
1
Perl 6 не использует регулярные выражения, он использует правила (и они потрясающие!): En.wikipedia.org/wiki/Perl_6_rules
Gaurav
Новая шутка нужна.
Шон Макмиллан
@SeanMcMillan Шутка, которую я сделал в прошлом году, старая? : P (Я не могу с этим поделать, если Duke Nukem Forever был выпущен в это время ...)
Кевин Канту
1

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

Abi
источник
1

Лучший совет: нет, нет, нет! Perl 5 лучше всего подходит сейчас, так как Perl 6 не полностью разработан.

динамический
источник
0

Если вы интересуетесь языками стилей сценариев, я бы предложил вместо этого изучать Python и / или Ruby. Впервые я изучил Perl несколько лет назад. Главное, чему я научился, это регулярные выражения. Большинство других языков, которые имеют встроенное регулярное выражение, являются производными от реализации Perl. Но кроме этого, я не использовал Perl для всего этого. Основной критикой Perl является то, что некоторые считают его языком «только для записи». Очень сложно вернуться к старому коду и легко понять, что было сделано.

Я считаю, что с Python и Ruby (например, Rails) достигнут больший прогресс, чем с Perl. Всегда полезно напрячь свой мозг и выучить новый язык, но Perl, вероятно, не будет лучшим предложением.

Erik
источник
1
На самом деле JavaScript является королем сценария.
Даниэль Литтл
Спасибо за вклад. Похоже, Perl был бы не очень хорошим выбором в наши дни. Просто любопытно ... Легко ли написать потрясающе лаконичные строки в командной строке с Python, Ruby и Javascript?
Джоанис
3
Perl сильно изменился со старых времен. И есть много людей, все еще выбирающих это, и изучающих это. Такие вещи, как тестирование, документация, совместимость, обратная совместимость, стабильность и ориентация на хороший набор инструментов, являются более современными атрибутами Perl.
phaylon
По моему опыту, изучение Perl помогает в изучении Ruby, поскольку многие концепции являются общими.
Юстект
Perl regexps МОЖЕТ проанализировать HTML (или что-то)