LINUX.ORG.RU

Вопрос про перл и питон


0

0

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

Оба языка общего пользования - они взаимозаменяемы, если ты не подвязан использовать библиотеки, которые написаны на одном из этих языков.

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

Perl, к тому же, уже давно не обновляется. Parrot и Perl 6 ожидаются уже который год...

Selecter ★★★★
()
Ответ на: комментарий от Selecter

> Perl, к тому же, уже давно не обновляется.

Гениально.

anonymous
()

В общем, +1 к тому, что сказал Selecter.

Добавлю, пожалуй, то, что питон заметно сильнее ограничивает программиста в стиле кодирования - все, что не One True Way - делается откровенно через задницу и с усилиями. Например, поддержка функционального программирования там зачаточная, и приходится ограничиваться "списковым", примерно в духе C++/STL.

Перл же, наоборот, позволяет довольно естественно выражаться в разных стилях, отлично работает как функциональный язык (любой оператор возвращает значение, не нужен явный return из функции, есть более-менее человеческая лямбда и т.д.). Некоторые, правда, говорят. что это просто на нем все делается одинаково коряво ;)

Ну и, надо сказать, что перл тки помирает - Perl6 (в виде Parrot/Pugs) - маргинальный нежизнеспособный проект, который породил монструозный неподъемно сложный язык. А перл5 остановился в развитии - даже багфикс релиза выходят крайне редко (это, правда, потому, что багов в интерпретаторе реально очень мало). И библиотеки/биндинги для питона развиваются быстрее сейчас - для перла ни Qt, ни CORBA, например, в человеческом виде не существует.

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

perl -MSome::Lib -pne 'blah-blah-blah' < datafile > processed_data

годна писать настоящую программу неохота, а awk-а не хватает.

anonymous
()
Ответ на: комментарий от anonymous

про будущее питона мне ничего не известно
а про будущее перла можно сказать - оно очень туманное
если не сказать , что его нет
а очень жаль , ибо перл - красивый , элегантный язык
которым все еще пользуются :-)

kto_tama ★★★★★
()
Ответ на: комментарий от anonymous

> Perl6 (в виде Parrot/Pugs) - маргинальный нежизнеспособный проект, который породил монструозный неподъемно сложный язык.

Вообще то, Parrot и Perl6 - два совершенно независимых проекта. Parrot развивается, пусть и медленно. А вот Perl6 действительно мертворожденный... Авторы до сих пор не выработали даже окончательный вариант синтаксиса. Периодически слежу за их телефонными конференциями, которые выкладывают на planet.perl. Создаётся впечатление, что у Ларри сотоварищи такое хобби - разрабатывать Perl6.

Что касается Perl5, то последнему релизу уже больше года. Может и правда нечего там больше улучшать. В любом случае Python выглядит более перспективным.

Hjorn
()
Ответ на: комментарий от kto_tama

> а очень жаль , ибо перл - красивый , элегантный язык Весьма оригинальное мнение :)

Цитата из perlintro: "The language is intended to be practical (easy to use, efficient, complete) rather than beautiful (tiny, elegant, minimal)."

Hjorn
()

perl - это когда sh/awk/sed становится мало
python - для быстрого прототипирования некоторых приложений, создания GUI в скажем PyGTK на коленке итп

grob ★★★★★
()
Ответ на: комментарий от grob

> следуя этой логике, еще лучше для этого подойдет C

Логика отсутствует: ничего подобного CPAN-у для С не создано, а сам язык - гораздо ниже уровнем.

anonymous
()

IMHO perl - обработка больших объёмов текста, логов, системные скрипты. Очень удачно сделана работа с regexp. Вобщем язык системного администрирования. Совершенно отдельным плюсом - CPAN. ООП в перле сделан не самым изящным образом, если привыкнуть то может даже понравиться. :) python - пока использовал только для обработки логов и написания небольших приложений для иксов. Первое не понравилось, для второго - подошёл идеально.

stwm
()
Ответ на: комментарий от stwm

> ООП в перле сделан не самым изящным образом, если привыкнуть то может даже понравиться.

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

Разница - косметическая: у питона синтаксис почеловечнее (зато у на перле можно сооружать метаобъектные протоколы, отличные от дефолтного), и общий неймспейс методов и полей. У перла же неймпейс методов отдельный (пакетный), а хранение полей пользователь должен делать сам (обычно это хеш).

anonymous
()

Эх, извечная тема для флейма... Кароче, исходя из формулировки вопроса - питон - ваш выбор. Буквально во всем лучше перла, однозначно более простой, по мощности не хуже, более изящный, ооп, исключения, строгая типизация, развивается более динамично, имеет меньше "степеней свободы", что на самом деле является несомненным плюсом, только тут вот не надо спорить. Смаллтолк вот явно помощнее будет, а расспространен куда как меньше. А вообще для приложений среднего и большого размера подходит хорошо java, правда для нее огромную роль играет среда разработки, но с хорошей средой, например Идеей кодить на жаве - просто сказка

xonix
()
Ответ на: комментарий от Hjorn

Ну-ну мертворожденный.В perl 5.10 обещают очень много из синтаксиса perl6. А монстр ну не знаю. Очень многие примеры читаются отлично и выглядят красиво.

anonymous
()
Ответ на: комментарий от anonymous

> Ну-ну мертворожденный.В perl 5.10 обещают очень много из синтаксиса perl6.

Только им никто не будет пользоваться, потому что в дистрибутивах еще много лет будет 5.8.6

> А монстр ну не знаю. Очень многие примеры читаются отлично и выглядят красиво.

А он (перл6) - хороший язык. Только невообразимо сложный, как в реализации, так и семантически. И на нем очень легко (легче, чем на п5, что само по себе достижение) писать write-only код, или код, который делает не то, что кажется с первого взгляда.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.