Ресурсы для начала работы на “современном” Perl

Булева алгебра фундаментальна для понимания управляющих структур и рефакторинга. Например, я видел много ошибок, вызванных программистами, которые не знали (или не мог использовать), закон deMorgan. Как другой пример, сколько программистов сразу распознает, что

if (condition-1) {
    if (condition-2) {
        action-1
    } else {
        action-2
} else {
    action-2
}

может быть переписан как

if (condition-1 and condition-2) {
    action-1
} else {
    action-2
}

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

, Как упомянуто Baltimark, математическая индукция очень полезна в обосновании о циклах и рекурсии.

Теория множеств является основанием реляционных баз данных и SQL.

Посредством аналогии, позвольте мне указать, что плотники обычно используют множество методов эмпирического правила в построении вещей как крыши и лестницы. Однако знание геометрии позволяет Вам решать проблемы, для которых у Вас нет "консервированного" эмпирического правила. Это похоже на обучение читать через фонетику по сравнению с распознаванием вида базового словаря. 90 + % времени там не является большим различием. Но когда Вы сталкиваетесь с незнакомой ситуацией, ОЧЕНЬ хорошо иметь инструменты для разработки решения сами.

Наконец, суровость/точность, требуемая математикой, является очень полезной подготовкой к программированию, независимо от определенной методики. Снова, многие ошибки в программировании (или даже спецификации), что я видел в своей карьере, имеют неаккуратные взгляды в своей первопричине.

19
задан Benjamin Pollack 18 November 2009 в 20:42
поделиться

4 ответа

chromatic находится в процессе написания книги о современном Perl, которая доступна для предварительного просмотра в его аккаунте Github . Недавняя книга Catalyst Кирена Димента и Мэтта Траута охватывает несколько современных методов Perl и текущий «Просветленный стек», как Мэтт, как мне кажется, называет его.

Также ведется работа над книгой Moose, но Я сомневаюсь, что он будет доступен до следующего лета, даже если бы авторы смогли полностью сосредоточиться на нем. Для изучения передового опыта, если вы относитесь к нему с огромной долей скептицизма, стоит прочитать обсуждение в Perl Best Practices Дамиана. Я бы не рекомендовал, чтобы его методы были лучшими, но они освещают, где находятся темы для разговора, и вы можете найти в Google комментарии людей по этому поводу. Самой большой проблемой, с которой я лично столкнулся, были предложения OO, которые у него были, и это привело меня к тому, что я нашел Moose, которого я обожаю.

Наконец, взаимодействуйте с сообществом. Присоединяйтесь к списку рассылки или трех, к одному или двум IRC-каналам и регулярно пишите блог о том, что вы изучаете. Сообщество Perl обычно поддерживает людей, которые действительно заинтересованы в обучении, в поиске необходимых инструментов.

19
ответ дан 30 November 2019 в 03:20
поделиться

Изучение Perl, 5-е издание актуально до 5.10. Есть даже глава об операторе интеллектуального сопоставления, как и вы, в дополнение к другим новым функциям, которые понадобятся новичку. Если вы хотите начать изучать Perl, это книга, которую стоит использовать. Как только вы пройдете через это, переходите к тому, чем вы хотите заниматься. У меня тоже будет Эффективное программирование на Perl, 2-е издание примерно в начале весны. Это будет актуально до 5.10.1 (и, возможно, немного позже, поскольку мы используем по крайней мере одну функцию 5.12 в каком-то коде).

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

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

12
ответ дан 30 November 2019 в 03:20
поделиться

Я бы порекомендовал упомянутое Learning Perl 5th Edition , за которым следует Perl Best Practices Дэмиана Конвея (также упоминалось ранее).

Я также хотел бы указать вам на Комментарий к рекомендациям по модулям PBP , в котором обсуждается текущая «точка зрения сообщества» на модули, обсуждаемые в Perl Best Practices.

Несмотря на то, что обсуждается (или нет) на этом сайте, две из моих любимых рекомендаций Perl Best Practice - это Data :: Alias ​​ и Smart :: Comments (Хотя Smart :: Comments - это фильтр исходного кода, его можно легко удалить перед отправкой кода в производство. Он отлично подходит для отладки.)

2
ответ дан 30 November 2019 в 03:20
поделиться

На OSCON Пол Фенвик сделал отличный доклад «Потрясающие вещи, которые вы пропустили в Perl», где он дает несколько примеров кода и советы по использованию современного Perl. .

Речь была записана, но ее еще нет в списке записей: http://www.oscon.com/oscon2010/public/schedule/proceedings

Вот еще несколько замечательных выступлений, которые стоит проверить, которые также содержат примеры современного Perl:

И, наконец (не из OSCON):

Ларри Уолл, выступающий в Google

4
ответ дан 30 November 2019 в 03:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: