Вы занимаете Perl и что привело вас в это?

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

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

Если вы новичок в Perl, что привело вас к этому?

Ответы

Ответ 1

С Perl (и выразительной силой TMTOWTDI) программирование становится творческой задачей. Я могу написать if($expr) { $statement; }, если планирую иметь много других операторов, или я могу написать $statement if $expr;, если это имеет смысл (например, я люблю писать:

sub doSomething {
    my($toObject, $argument) = @_;

    die "No object specified" unless defined($toObject);
    die "Object invalid: $toObject" unless $toObject->ISA('Example');

    # Do stuff
}

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

С другими языками программирования мне приходится думать о своем пути через слои абстракции (как это будет Map дать мне Collection, чей Iterator я могу использовать для... и так далее). С Perl я обычно только один уровень абстракции выше базового Perl. Например, DBI даст мне результаты базы данных как обычные, повседневные сканеры Perl, списки и хэши, поэтому все, что я знаю об этих простых основных структурах данных, переносится на каждую задачу, на которую я положил DBI в (сложные структуры данных? для чего нужен PostgreSQL!).

Я использую Perl полный рабочий день около года, но это большие победы для меня, и причина, по которой я впервые перешел на Perl на год после страдания от руки модели Java 1.4 Collections (не спрашивайте). Другие языки программирования заставляют меня чувствовать, что я собираю головоломки, поскольку вы выстраиваете все модули и пакеты в самый раз; Perl чувствует себя как коробка, наполненная Legos, с некоторыми "специальными" кирпичами (например, DBI, CGI.pm и Test::*), брошенными для хорошей меры. Существует множество способов решения любой проблемы, и Perl позволяет вам попробовать любой из них, который вам нравится, любым другим способом.

Ответ 2

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

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

Я обнаружил проблематичное поведение в PHP, которое противоречило логике и рассуждениям (например, семейство array_merge_recursive) и обнаружило функции, которые были недокументированы в том, как их использовать, и когда я сообщил об ошибке в функциях, моя ошибка была отмечена как "Богус" "и я должен был быть экстрасенсом.

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

Кроме того, мой опыт работы с другими динамически типизированными языками более высокого порядка (JavaScript и Ruby, да, JavaScript - более мощный язык, чем PHP с точки зрения языковых возможностей) оставил мне знания со многими способами легко решить проблемы, но, будучи ограниченным таким образом, я не имел возможности использовать эти мощные функции. Perl удовлетворил эту потребность.

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

Нехорошо быть элитарным, но как только вы попытались объяснить то же самое до 30 человек (и каждый час, чтобы получить простую концепцию в свои головы), она достигает точки разочарования. (Я не могу справиться с ситуацией "Есть кто-то в Интернете, кто не прав", если я не могу его увидеть, этого не происходит)

Ответ 3

Я начал заниматься Perl на третьем курсе по информатике в рамках курса "Языки сценариев". У меня есть друг, изучающий биотехнологию, и я помог ей с некоторыми скриптами интеллектуального анализа данных для работы с базами данных о белках (синтаксический анализ текстовых файлов, регулярных выражений, простых проверок целостности). Это было очень естественно делать в Perl.

Затем я получил свою первую неполную работу и должен был использовать ее профессионально. Я отвечал за разработку набора пакетных скриптов, которые обрабатывали часть бизнес-логики в компании. И это была задача, когда Перл раскрыл весь свой потенциал. Нужно получить данные из БД? - не проблема, просто зайдите в CPAN. Необходимо автоматизировать wiki - не проблема, перейдите в CPAN. Количество уже созданных модулей является подавляющим, и вы можете быть уверены, что всегда найдете то, что вам нужно в CPAN.

Подводя итог. Для меня Perl - это швейцарский армейский нож для скриптовых языков. В нем можно сделать все, и у него огромное количество дополнительных модулей даже для очень экзотических задач. И, кстати, я упоминал REGEXPS?

Ответ 4

Я все еще не так долго в сообществе Perl, и то, что я впервые принес, было юмором и мудростью Ларри Стенда. Правда, у Perl есть свои причуды, но язык исходит из понимания вещей, которые очень близки мне, поэтому я гораздо менее удобен с Python и в меньшей степени Ruby.

Я не использую веб-приложение больше GUI с WxPerl, и он работает нормально. Я очень заинтересован в языках, также в менее известных, таких как фактор, boo, rebol и т.д., Но в целом это Perl мой выбор. и это потому, что смесь сильного синтаксиса (может быть очень функциональна, если вам нравится), сообщество, CPAN, конечно, и, как я уже говорил, из-за того, что уютное чувство находится в нужном месте.

Ответ 5

Perl - это сообщество, которое является причиной использования его как на социальном, так и на практическом уровне. (См. CPAN и Perlmonks, которые, вероятно, вдохновили SO.)

Ответ 6

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

Это интересно; Я закончил работу программистом на Perl, изучив его для работы в колледже; и теперь это мое самое сильное умение. Я собираюсь придерживаться Perl на некоторое время, потому что до сих пор язык был универсальным, чтобы расти вместе со мной. Я пишу много системного программного обеспечения в Perl и решил забрать веб-программирование для удовольствия, и Catalyst там ждал меня. Я хочу попробовать новую языческую парадигму? Perl, вероятно, поддержит это. Напротив, когда я некоторое время программировал на PHP, я сразу почувствовал, что прижимаюсь к стеклянному потолку.

Ответ 7

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

Ответ 8

простой синтаксис, мощные возможности сценариев для win32 и unix-систем и полностью мощное регулярное выражение!

Я пикап Perl на своей первой работе, где мне приходилось писать много автоматизации script для инженеров-электриков, чтобы раздобыть данные и отформатировать их в Excel, а иногда и с сервером sql. С Perl я мог бы получить что-то довольно быстро, так что все хорошо в обрабатывающей стране.: P

Ответ 9

Я использовал awk несколько раз для shell-скриптов, еще в те дни. В одном из древних проектов нам нужно было реализовать соединение протокола TELNET, поэтому я написал краткую версию на Perl 4. Это сработало очень хорошо, и мне очень нравился этот язык.

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

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

Павел.

Ответ 10

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

Наши усовершенствования включали преобразование с плавающей точкой в ​​шестнадцатеричное преобразование, пост-обработку S-записи и модификации контрольной суммы.

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

Ответ 11

Что привело меня к Perl, когда я увидел DBI и понял, что могу писать программы ESQL/C, которые я писал в то время в одну пятую время.

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

print "10" + 5;

- это ошибка типа, а не 15.

Ответ 12

Я не принимаю это. Мне пришлось работать над проектом в Perl несколько лет назад, и мне очень не нравился этот язык. У этого есть иногда-неудобный синтаксис и много сумасшедших ошибок, с которыми мне трудно работать. Честно говоря, я думаю, что Ruby заменил Perl во многих отношениях: он хорош примерно в одних и тех же вещах, но имеет гораздо более приятные функции и проще в использовании.

У Perl все еще есть CPAN, хотя даже Ruby не может сравниться (хотя у Ruby также много полезных библиотек).

Ответ 13

В прошлом году я изучил Perl.

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

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

Кроме того, Ларри Стена пугает меня.

В моей ситуации Perl не был правильным выбором, и именно поэтому.

Ответ 14

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

Причина? Это в основном язык, предназначенный только для записи. Переход на 100-строчное решение заставил меня опасаться моего собственного кода, что, безусловно, не является хорошим результатом. С другими языками этот бар значительно выше (возможно, 1000 или 10000 строк).

Я не вижу причин для Perl в новых проектах, для новых пользователей, в-2009 году.