Какие функции динамического программирования Должен ли я использовать Perl?

Я довольно новичок в написании языков (в частности, Perl), и большая часть кода, который я пишу, представляет собой бессознательное усилие по преобразованию кода C в Perl.

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

Все это нормально, но какие конкретные функции я должен иметь, имея некоторый опыт в C и C ++, при написании кода на Perl, чтобы использовать все имеющиеся у него функции динамического программирования для создания какого-то потрясающего кода?

11
задан Community 23 May 2017 в 12:30
поделиться

2 ответа

Этого вопроса более чем достаточно, чтобы заполнить книгу.На самом деле, именно это и произошло!

Превосходный Perl высшего порядка Марка Джейсона Доминуса доступен онлайн бесплатно.

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

Примерно в 1993 году я начал читать книги. о Лиспе, и я обнаружил кое-что важно: Perl гораздо больше похож на Lisp чем это похоже на C. Если вы возьмете хорошая книга о Лиспе, будет раздел, описывающий хорошие возможности Lisp Особенности. Например, книга Парадигмы искусственного интеллекта Программирование Питера Норвига включает раздел под названием Что делает Lisp Разные? который описывает семь особенности Лиспа. Perl разделяет шесть эти особенности; C не разделяет ни одного из них. Это большие, важные черты, функции, такие как функции первого класса, динамический доступ к таблице символов, и автоматическое управление хранением.

15
ответ дан 3 December 2019 в 01:06
поделиться

Используйте функции, решающие вашу проблему, с наилучшим сочетанием удобства сопровождения, времени разработки, тестируемости и гибкости. Говорить о какой-либо технике, стиле или библиотеке вне контекста конкретного приложения не очень полезно.

Ваша цель не должна состоять в том, чтобы найти проблемы для ваших решений. Изучите Perl немного больше, чем вы планируете использовать сразу (и продолжайте учиться). Однажды вы столкнетесь с проблемой и подумаете: «Я помню кое-что, что может помочь с этим».

Тем не менее, вы, возможно, захотите ознакомиться с некоторыми из этих книг:

  • Higher-Order Perl
  • Mastering Perl
  • Эффективное программирование на Perl

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

10
ответ дан 3 December 2019 в 01:06
поделиться