Яку мову спритніше, php або perl

Схожі записи

На дане питання однозначну відповідь дати не можна, так як Perl в значній мірі відрізняється від PHP. Мова Perl - різнобічний і потужний інтерпретована мова, а PHP створювався в основному для роботи в інтернеті. Звідси випливає, що не варто порівнювати між собою ці дві мови.

Факт, що мова PHP легше. При запуску веб-сервера Apache (демона httpd) відразу ж подгружается інтерпретатор і при запитах до виконуваних скриптів немає зайвих і ресурсовитратності завантажень ЦП. Скрипт відразу ж виконується, тому і говорять, що мова PHP дуже швидкий. Якщо навіть при експлуатації PHP використовується додаткова пам'ять (кожен нащадок використовує модуль php), при великій кількості запитів ми отримуємо явну перевагу в продуктивності.

Послідовність виконання скриптів Perl при стандартному підході виглядає інакше. При запиті такого скрипта, Apache підвантажує інтерпретатор, а той виконує програмний код. При цьому використовується досить багато пам'яті. Не менше 2-х мегабайт на кожен окремий процес, але зазвичай 4-6 мегабайт. Звідси випливає, що при кожному зверненні до скрипту веб-сервер виконує завантаження великої програми - інтерпретатора. Але це не означає, що скрипти Perl виконуються повільніше. Це говорить про те, що веб-сервер відчуває чимале навантаження при роботі з Perl скриптами.

При великому навантаженні отримуємо наступне: веб-сервер, що виконує PHP скрипти, швидше справляється із запитами і може обробляти більше число клієнтів. У той час, як веб-сервер з сайтами, побудованими на Perl скрипти буде пригальмовувати.

Звичайні CGI-скрипти відрізняються від скриптів FastCGI кількома рядками коду і структурою. Наприклад, скрипт при першому запуску з'єднується з БД MySQL і, потім, постійно тримає це з'єднання. Для роботи скрипта саме під управлінням FastCGI, потрібно викликати FCGI бібліотеку. Її легко встановити під ОС Unix або Linux.

Виконуючи запити, скрипт як би проходить по циклу: очікування - виконання - очікування - виконання. Але насправді (під Unix або Linux) це сплячий процес, який перебуває в Accept режимі.

Якщо запитів занадто багато, то веб-сервер запускає додаткову копію процесу. На це йде ще кілька пам'яті, але, в загальному, підвищує швидкість веб-сервера і економить його ресурси.

Звідси випливає природний висновок - хто воліє мову PHP, нехай використовує php скрипти і не звинувачує Perl мову. Зв'язка Perl + FastCGI - відмінний відповідь на подібні звинувачення. На стадії виконання програмного коду в важких завданнях PHP програє Perl, і перемагає лише на стадії завантаження. Але приминение FastCGI усуває цю перевагу. Тому вибір між цими мовами повністю залежить від специфіки розв'язуваної задачі і рівня розробника. Новачкам мову Perl досить складний в освоєнні, але дозволяє вирішувати великий спектр завдань, крім веб-орієнтованих. Мова PHP простий у вивченні і зручний при розробці різних веб-додатків.

На FastCGI краще перевести часто виконувані і великі скрипти. Не всі провайдери хостингу надають підтримку цієї технології. Розігнаний Perl дозволяє вести великі інтерактивні сайти на звичайному віртуальному хостингу і стає більше провайдерів встановлюють цю корисну софтину.

Ніколи не любив PHP. Я взагалі не люблю мови, де можна писати в довільному регістрі. Це якось збиває з пантелику. Тому що записи виглядають по-різному, але треба весь час пам'ятати, що це одне і теж. Але це суб'єктивний аргумент. Об'єктивні тут викладені. Що стосується того, що Perl не для інтернету, то, по-моєму, дуже навіть для вебу, оскільки будь-яка веб-сторінка це не більше ніж текст. А Perl спочатку розроблявся як мова для обробки саме тексту і навіть для друкованих форм. А веб-сторінка - саме друкована форма! Це потім вже Perl стала мовою програмування.

Perl кращий мову для інтернету серед скриптових. Другий за якістю це python і вже тільки потім йде PHP. В кінці списку ruby. Але тільки тому, що ruby ​​ще не розроблений досить добре. Але у ruby ​​дуже хороший інтуїтивно зрозумілий синтаксис. На ньому дуже легко писати. Perl ж, навпаки, має дуже компактний і для новачків незрозумілий синтаксис. Але якщо до нього звикнути, то нічого іншого не треба!

Але будь-який скриптова мова поступиться бінарним контексту. Тому зараз вже починають повертатися знову на С / С ++. Особливо високонавантажені сайти. Бінарники нічого не треба, він як би сам по собі і не вимагає ніякої інтерпретації. А оскільки код на цих мовах виконується дуже швидко, то сторінка друкується практично миттєво. Але з С / С ++ інша проблема, на ньому немає ніяких бібліотек для веб розробки і треба все робити вручну. Але це окупається з трійцею. Якщо ж скриптові мови, то звичайно Perl.

Виходить, якщо у нас в організації не використовується linux а тільки windows server то встановити бібліотеку і прибрати зависання скрипта на Perl на великій кількості користувачів не зможемо? У нас всі викладачі вводять студентам оцінки за завдання, і хоча просимо в реальному часі вводити, все одно залишають на останній день останнього тижня кордону контролю, буває зависання в цей день.

Нові сайти в каталозі:

Схожі статті