Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Perl - недостатки и приемущества(?) 
:(
    Опции темы
nerezus
Дата 30.1.2007, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 13
Всего: 43



Цитата

Это к вопросу о тормознутости, кстати...  Комментарии будут?? 
 Ну 14 секунд(PHP) против 9(Perl): просто у PHP медленнее логика.

Однако большинство функций в пхп написано на сишнике, в перле же - в виде модулей на перле(я даже ради интереса с CPAN сачал XSLT и посмотрел, на чем написан он). Выводы сделаешь? )

P.S. А основные тормоза будут все равно из-за сервера, ФС и БД.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
korob2001
Дата 30.1.2007, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: нет
Всего: 61



Цитата(nerezus @  29.1.2007,  07:06 Найти цитируемый пост)
2) ООП через "анальное отверстие". Про перл6 с его модификаторами классов я вообще молчу. Когда я их впервые увидел — плакалъ.

ООП конечно не такое как в Java. Хотя лично я пользуюсь всегда этим подходом. Пока ещё не столкнулся с какими-то задачами, которые нельзя было бы решить.

Цитата(nerezus @  29.1.2007,  07:06 Найти цитируемый пост)
Тормоз. Очень медленный. К примеру питон быстрее более чем в 2 раза(тесты сам проводил, могу дать ссылку).

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

Цитата(nerezus @  29.1.2007,  07:06 Найти цитируемый пост)
Синтаксис. Хотя перл в этом не "лидер". Есть ведь язык brainfuck ;) Чтобы понять пару строк кода, надо прочитать то, что написано выше, а все благодаря переменным по умолчанию. Что уж говорить о постусловиях: чтобы понять логику при просмотре чкжого кода приходится смотреть не только на структуру программы и начала строк, но и читать строки целиком!

Как ты запутываешь код, зависит только от тебя. Perl лишь даёт тебе свободу.

Цитата(nerezus @  29.1.2007,  07:24 Найти цитируемый пост)
Hidrag, и что, в других языках/программах разве нету re? Или они какие-то другие? 

А откуда их интересно позаимствовали? Что-то не много людей пишет регулярные выражения в стиле POSIX.

Цитата(nerezus @  30.1.2007,  09:52 Найти цитируемый пост)
P.S. Ты специально пробелы не ставишь, чтобы код меньше казался, или ты просто perldoc perlstyle не читал?

Там где они нужны он их оставил.

Цитата(nerezus @  30.1.2007,  10:42 Найти цитируемый пост)
Т.е. я не должен этим пользоваться из-за того, что в расшифровке есть слово perl?

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

Цитата(nerezus @  30.1.2007,  12:18 Найти цитируемый пост)
Однако большинство функций в пхп написано на сишнике, в перле же - в виде модулей на перле(я даже ради интереса с CPAN сачал XSLT и посмотрел, на чем написан он). Выводы сделаешь? )

В Perl тоже много модулей написанных на C.

Цитата(nerezus @  29.1.2007,  07:06 Найти цитируемый пост)
Для той же обработки текста(для чего и был разработан перл) набор никсовых утилит(grep/sed/awk) годится гораздо больше. А функции PHP для обработки текста гораздо богаче.

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

Это сообщение отредактировал(а) korob2001 - 30.1.2007, 16:05


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
Hidrag
Дата 30.1.2007, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 877
Регистрация: 9.4.2005
Где: JDK

Репутация: нет
Всего: 25



Цитата(korob2001 @  30.1.2007,  16:03 Найти цитируемый пост)
Цитата(nerezus @  29.1.2007,  07:06 )Для той же обработки текста(для чего и был разработан перл) набор никсовых утилит(grep/sed/awk) годится гораздо больше. А функции PHP для обработки текста гораздо богаче.Что-то автору языка не хватило этих утилит в своё время, что собственно и подтолкнуло его к созданию Perl. Почитай историю. Perl создавался не только для обработки текста.

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


--------------------
user posted image
PM WWW ICQ   Вверх
arto
Дата 30.1.2007, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: нет
Всего: 40



http://forum.sources.ru/index.php?showtopi...mp;view=showall -- вы там так и не ответили, почему перл и питон показывают одинаковую производительность....

может тут расскажете?
PM MAIL ICQ   Вверх
nerezus
Дата 30.1.2007, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 13
Всего: 43



arto, одинаковую? ну у меня была разница в 2.15 вроде раз )

Добавлено @ 17:02 
Ааа, так это ты.
Ну так поставь последнюю версию питона и сравни )


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
arto
Дата 30.1.2007, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: нет
Всего: 40



пока пакет не сделают -- лень

а с той версией что не так?
обещали 30%...
PM MAIL ICQ   Вверх
nerezus
Дата 30.1.2007, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 13
Всего: 43



Цитата

пока пакет не сделают -- лень
 2.5 появился полгода назад.
Пакеты были уже сразу, а в репозиториях они были уже через неделю(на примере дебиана) или сразу же(дженту).

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


Цитата

а с той версией что не так?
 В 2.5 намного увеличили скоростьь и добавили новых фишек.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
arto
Дата 30.1.2007, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: нет
Всего: 40



я про python2.4 vs. perl 5.8.8

а собирать самому пакет -- лень.
PM MAIL ICQ   Вверх
skyboy
Дата 30.1.2007, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 1
Всего: 260



Цитата(korob2001 @  30.1.2007,  15:03 Найти цитируемый пост)
А откуда их интересно позаимствовали?

насколько мне известно, теория регулярных выражений - раздел математики, развивающийся где-то с середины 20 века, а не изобретение создателей Perl... 
PM MAIL   Вверх
korob2001
Дата 30.1.2007, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: нет
Всего: 61



В POSIX тоже есть регулярные выражения, только ими практически никто не пользуется. Речь идёт о регулярных выражениях в стиле Perl.

Это сообщение отредактировал(а) korob2001 - 30.1.2007, 18:32


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
pythonwin
Дата 31.1.2007, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 1
Всего: 36



Цитата(GoodBoy @  30.1.2007,  18:01 Найти цитируемый пост)
Это к вопросу о тормознутости, кстати...  Комментарии будут?? 

из скриптовых php не самый быстрый - 
Цитата
Сохранение байт-кода (файлы .pyc и .pyo) позволяет интерпретатору не тратить лишнее время на перекомпиляцию кода модулей при каждом запуске, в отличие, например, от языка Perl. Кроме того, существует специальная библиотека psyco [3], позволяющая несколько оптимизировать выполнение программ.

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



Цитата(amg @  30.1.2007,  16:55 Найти цитируемый пост)
Мне Perl нравится, среди прочего, тем, что он позволяет очень быстро, прямо из консоли, делать довольно нетривиальные вещи. Например

я подобное в питоне делал в интерпритаторе, правда у меня это вышло строк на 10, но если применить ФП, то думаю строи в две-три можно было сделать, хотя если немного напрячся, то и в 1 строку (хотя много ума не нужно чтобы написать очень плохо читаемый код)
Цитата
Подобно LISP, Prolog или Perl в режиме отладки, интерпретатор Питона имеет интерактивный режим работы, при котором введённые с клавиатуры операторы сразу же выполняются, а результат выводится на экран. Этот режим интересен не только новичкам, но и опытным программистам, которые могут протестировать в интерактивном режиме любой участок кода, прежде чем использовать его в основной программе, или просто использовать как калькулятор с большим набором функций.

PM WWW GTalk Jabber   Вверх
diam
Дата 31.1.2007, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 348
Регистрация: 23.1.2005
Где: Екатеринбург

Репутация: нет
Всего: 16



Цитата(nerezus @  29.1.2007,  13:06 Найти цитируемый пост)
Для той же обработки текста(для чего и был разработан перл) набор никсовых утилит(grep/sed/awk) годится гораздо больше. А функции PHP для обработки текста гораздо богаче. 

grep/sed/awk годятся до определённой степени сложности анализа и предоставления информации, perl гораздо удобнее их. В том же самом php, кстати, функции ряд функций обработки текста взят из perl, например, регулярные выражения.

Цитата(nerezus @  29.1.2007,  13:06 Найти цитируемый пост)
Плюсы перла:
Их нет.

Так же можно сказать и про php, который ты упомянул.

Цитата(nerezus @  29.1.2007,  13:06 Найти цитируемый пост)
6) Синтаксис. Хотя перл в этом не "лидер". Есть ведь язык brainfuck ;) Чтобы понять пару строк кода, надо прочитать то, что написано выше, а все благодаря переменным по умолчанию. Что уж говорить о постусловиях: чтобы понять логику при просмотре чкжого кода приходится смотреть не только на структуру программы и начала строк, но и читать строки целиком!

Кому-то и Haskell кажется сложным, а кому-то даже python и ruby. Каждому своё.

Цитата(nerezus @  29.1.2007,  13:06 Найти цитируемый пост)
2) ООП через "анальное отверстие". Про перл6 с его модификаторами классов я вообще молчу. Когда я их впервые увидел — плакалъ.

У любого ЯП есть особенности, если тебе они кажутся сделанными через "отверстие", то это значит только то, что тебе эти особенности не нравятся.


Подводя итог, хочу сказать, что нет плохих или хороших языков. Любой язык хорош для решения определённых задач с точки зрения определённой философии, заложенной в язык. И если тебе не нравится язык, то ты просто не приемлешь его философию, вот и всё. Конструктивная критика и философии, и любого языка чаще всего приветствуется людьми, а тупое поливание помоями - есть признак некультурности. Ведь ты же не оскорбляешь человека за то, что он не придерживается твоей точки зрения (хотя бывают и исключения, конечно, везде есть некий порог, после которого польются некрасивые слова)? Так и с языком и его философией.
Если же взглянуть с точки зрения профессионального программиста, это вообще неправильно - говорить, что ЯП - плохой. У профессионала чаще всего есть определённые ограничения на выбор инструментария, но с выбранным инструментарием он работает не смотря на свои предпочтения. Бывает даже немного неприятно, но се ля ви, как говорится.
PM MAIL   Вверх
nerezus
Дата 31.1.2007, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 13
Всего: 43



Цитата

я про python2.4 vs. perl 5.8.8

а собирать самому пакет -- лень. 
 Ну можешь не собирать - результат я уже сказал.

Цитата

В том же самом php, кстати, функции ряд функций обработки текста взят из perl, например, регулярные выражения.
 Ну я и говорю: перл не иммет преимуществ в re, несмотря на то, что именно в нем появились PCRE.



--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Shaggie
Дата 31.1.2007, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Завсегдатай
Сообщений: 570
Регистрация: 21.12.2006
Где: outer space

Репутация: нет
Всего: 72



Цитата(nerezus @  31.1.2007,  10:38 Найти цитируемый пост)
перл не иммет преимуществ в re

В Перл регулярные выражения встроены в сам язык, а не вызываются из функций/модулей (как в любом другом). Такой подход был принят вследствие общей направленности языка. И даже сейчас, когда Перл перерос в ЯП общего назначения, встроенные и потому очень простые в применении регулярки являются одной из отличительных его особенностей.

Цитата(nerezus @  29.1.2007,  13:06 Найти цитируемый пост)
Для той же обработки текста(для чего и был разработан перл) набор никсовых утилит(grep/sed/awk) годится гораздо больше. А функции PHP для обработки текста гораздо богаче. 

Про обобщающую и расширяющую роль Перл по сравнении с вышеупомянутыми утилитами было уже много сказано. А вот насчет функций PHP...

В PHP действительно очень много функций для работы с регулярными выражениями. Вот только это его вечное стремление для каждой операции иметь по пять мало различимых функций не есть проявление богатства, имхо конечно. 
Смотрим: стандартные функции - 1) ereg(), 2) eregi(), 3)ereg_replace(), 4) eregi_replace(), 5) split(), 6) spliti(). Спросите, зачем так много? На самом деле здесь три функции - поиск, замена, разделение на подстроки. Только в двух вариантах - с учетом регистра и без учета. А если в одной строке нужно найти часть в верхнем регистре, часть неважно в каком, и часть в нижнем? Придумаем что-нибудь, где наша не пропадала smile Кроме того, эти функции не поддерживают нежадное совпадение, утверждения, условные субпатэрны и некоторые другие возможности регулярок. Ну и плюс ко всему этому, они работают медленнее, чем аналогичные перловые. Поэтому в книгах по PHP рекомендуют эти функции не использовать!

А что же тогда использовать? О, разработчики пошли нам навстречу и реализовали в языке поддержку регулярных выражений, аналогичных использующимся в Перл. Они и работают пошустрее, и возможностей у них поболее...
Вот они: 1) preg_grep(), 2) preg_match(), 3) preg_match_all(), 4) preg_quote(), 5) preg_replace(), 6) preg_replace_callback(), 7) preg_split(). Опять много? Но, кажется, они побольше могут... Там тоже есть много интересного, в частности, непонятно, зачем в функции preg_match_all() возвращать совпадения в хитрющщий двухмерный массив? Плюс неудобные для прописывания флаги, к примеру, PREG_SPLIT_DELIM_CAPTURE. Или кому-то так удобнее вводить?

Все это к тому, что Перл очень логичен в работе с регулярными выражениями. К сожалению, в нем нереализованы такие полезные фичи, как жадный безвозвратный режим глотания строки с помощью модификаторов *+, ++ и ?+ ... Но это частности. Более того - как уже подтвердили участники форума, именно Перл превратил регулярные выражения в обыденную для программирования вещь. Python, Java, C# - везде применяются регулярки в стиле Перл. И нигде они не поддерживаются на уровне встроенных функций языка. Увы...


--------------------
Цитата(alina3000 @  6.3.2014,  10:47 Найти цитируемый пост)
Сорри что не по теме 
PM MAIL ICQ GTalk Jabber   Вверх
GoodBoy
Дата 31.1.2007, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: нет
Всего: 83



Цитата(pythonwin @  31.1.2007,  09:18 Найти цитируемый пост)
Сохранение байт-кода (файлы .pyc и .pyo) позволяет интерпретатору не тратить лишнее время на перекомпиляцию кода модулей при каждом запуске, в отличие, например, от языка Perl. Кроме того, существует специальная библиотека psyco [3], позволяющая несколько оптимизировать выполнение программ.

Для Перла есть утилиты, позволяещие компилировать скрипты в исполняемые файлы...  Правда только для Винды...


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Страницы: (5) Все 1 2 [3] 4 5 
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.1085 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.