Каковы преимущества и недостатки Perl для ООП? - PullRequest
7 голосов
/ 17 декабря 2010

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

Ответы [ 3 ]

23 голосов
/ 17 декабря 2010

ООП - это не конец, а средство для достижения цели. Ваш вопрос настолько широк, что практически не имеет смысла.

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

Если вы пишете программы на Perl, которые решают проблемы, которые другим программистам трудно решить хорошо, вам будет щедро заплатить.

Если вы пишете программы на Perl для обработки веб-форм контактов для простых веб-сайтов, вам также не заплатят.

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

Perl дает вам свободу в создании решений. Со свободой приходят риск и ответственность. В зависимости от вашей личности это может быть хорошо или плохо.

Что касается ООП:

  • Perl лаконичен.
  • Perl не требует, чтобы вы рассматривали все как объект.
  • Perl не заставляет вас использовать наследование в качестве основного механизма повторного использования кода.
  • Perl делает использование композиции для повторного использования кода очень простым.
  • Лексическая область действия Perl и замыкания облегчают инкапсуляцию.
  • Perl допускает множественное наследование.
  • Perl допускает перегрузку оператора.
  • С Perl вы не ограничены использованием «единственно верных принципов проектирования», которые кто-то еще решил десять лет назад.
  • Я наверняка забыл много других важных битов.

Как и прежде, вы ставите телегу перед лошадью. Сначала вы должны полностью понять ООП без ссылки на какой-либо конкретный язык программирования.

Для веб-приложений Perl предлагает множество альтернатив. Catalyst - действительно хороший фреймворк. Dancer позволяет легко выразить функциональность вашего веб-приложения. Plack облегчает его развертывание.

Вы сами решаете, какие методы ООП использовать с этими платформами.

Я недавно влюбился с комбинацией Moose и Dancer .

Примечание: Учитывая, что вы только начинаете учиться, я бы порекомендовал (несмотря на классные задания), чтобы вы не слишком беспокоились о сравнении языков. Вместо этого откройте для себя разные языки. В наше время это так же просто, как ожидание загрузки нескольких минут, чтобы начать. Когда я впервые решил научиться программировать (чуть менее 30 лет назад), бумага и карандаш были единственным способом, которым я мог писать программы, и мне приходилось моделировать вывод программы на бумаге. Я знаю, я знаю, в гору в обоих направлениях и все; -)

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

Моя первая попытка программирования на Perl все еще доступна онлайн с бородавками и всем остальным. Причина, по которой я начал, была довольно проста: я хотел сделать что-то простое и что-то, что принесло бы мне счастье.

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

Рынок труда изменится к тому времени, как вы закончите колледж. Лучшая подготовка к колледжу - это иметь широкое понимание, чтобы не увязнуть в мелочах, а иметь возможность выполнять задания, которые другие выберут для вас.

13 голосов
/ 17 декабря 2010

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

Конкретный язык составляет 10-20% от того, что вам нужно - остальное - веб-разработка, разработка баз данных, сетевое программирование, разработка программного обеспечения, структуры данных, алгоритмы, шаблоны и парадигмы (например, ООП, функциональный, декларативный и т. Д.). ..), общение , навыки презентации и т.д ...

Это говорит:

  • Perl - отличный язык для изучения, чтобы познакомить вас почти со ВСЕМИ из этих концепций. Как обсуждалось в последних потоках, он МОЖЕТ научить вас гораздо больше о ООП, чем Java (потому что Java реализует только некоторые аспекты ООП), а Java вообще не может научить вас функциональному программированию (которое вам необходимо освоить в JavaScript). ,

  • Знание только Perl, вероятно, сделает вашу работу более трудной для охоты. Не так много заданий, для которых требуется Perl, и только Perl (есть еще, но не так много).

    С другой стороны, хороших разработчиков на Perl НАМНОГО МНОГИЕ, чем, скажем, Java-обезьян, поэтому, если вы действительно хороши в Perl, ваше соотношение рабочих мест и доступного пула талантов на самом деле может быть лучше, чем на других языках. .

  • Существует гораздо больше заданий, требующих нескольких языков. Поэтому вам, очевидно, нужно изучать как Perl, так и другие языки (C # или Java кажутся хорошими ставками в плане трудоустройства).

  • Чтобы повторить вышеизложенное - ОСНОВНОЙ (80%) коэффициент того, насколько легко вы можете найти работу и сколько она платит, НИЧЕГО не имеет отношения к тому, выбрали ли вы Perl или любой другой язык, кроме ваше знание других вещей, которые я перечислил выше, и ваша способность изучать деловые знания и новые языки.

13 голосов
/ 17 декабря 2010

Вы спросили: «Как хорошо программисту на Perl можно будет платить в будущем».

Это напоминает мне историю об одном парне, который пошел к гадалке:

Парень: Что принесет мое будущее?
Гадалка: Глядя в свой хрустальный шар, я вижу много-много $ 1010 * Парень: О,Я собираюсь заработать много долларов!?
Гадалка: Нет, вы собираетесь стать программистом Perl.

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