субота, 24 листопада 2012 р.

Perl

Perl is a high-levelgeneral-purposeinterpreteddynamic programming language.

Though Perl is not officially an acronym,[4] there are various backronyms in use, such as: Practical Extraction and Reporting Language.[5] Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier.[6] Since then, it has undergone many changes and revisions. The latest major stable revision is 5.16, released in May 2012. Perl 6 is a complete redesign of the language, announced in 2000 and still under active development as of 2012.

Perl borrows features from other programming languages including Cshell scripting (sh), AWK, and sed.[7] The language provides powerful text processing facilities without the arbitrary data length limits of many contemporary Unix tools,[8] facilitating easy manipulation of text files. Perl gained widespread popularity in the late 1990s as a CGI scripting language, in part due to its parsing abilities.[9]

In addition to CGI, Perl is used for graphics programmingsystem administrationnetwork programming, finance, bioinformatics, and other applications. Perl is nicknamed "the Swiss Army chainsaw of scripting languages" because of its flexibility and power,[10] and possibly also because of its perceived "ugliness".[11] In 1998, it was also referred to as the "duct tape that holds the Internet together", in reference to its ubiquity and perceived inelegance.[12]


Огляд

Perl — мова програмування загального призначення, котра на початку розроблялась, як інструмент для обробки тексту, і тепер використається для вирішення дуже широкого кола завдань, включно із системним адмініструванням, веб-розробкою, розробкою мережного програмного забезпечення, та програмного забезпечення з графічним інтерфейсом користувача.

Мова віддає перевагу практичному (простота у використанні, ефективність, повнота) над гарним (крихітність, елегантність, мінімалістичність).[17] Вона має багато можливостей, включно із підтримкою кількох парадигм програмування (процедурне програмуванняоб'єктно-орієнтоване програмування, а також функціональне програмування), управлінням пам'яттю, вбудованою підтримкою системи обробки текстів, і величезною колекцією сторонніх модулів.

Згідно зі словами Ларрі Волла, Perl має два гасла. Перше — «Є більше одного способу щось зробити» (англ. «There's more than one way to do it»), більше відомий, як TMTOWTDI, а також «Легкі речі повинні лишатися легкими, а важкі повинні бути можливими» (англ. «Easy things should be easy and hard things should be possible»).[18]

[ред.]Особливості

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

Perl також запозичив деякі особливості з shell-програмування. Назви усіх змінних розпочинаються зі спеціальних знаків, кожен з яких характеризує певний тип даних (наприклад, скаляри, масиві та хеш-таблиці). Важливо зазначити, що це дозволяє правильно інтерпретувати назви змінних безпосередньо у текстових рядках. Perl має багато вбудованих функцій, які забезпечують програміста інструментарієм, котрий часто використовується у shell-програграмуванні (хоча, багато з цих інструментів реалізовується за допомогою зовнішніх інструментів), як то сортування або виклик зовнішніх програм.

Perl запозичив списки з мови Lispасоціативні масиви (хеші) з AWK, і регулярні вирази з sed. Це зпростило процес парсингу і обробки великих обсягів текстової інформації.

У Perl 5, була додана підтримка комплексних структур даних, функції першого класу, і об'єктно-орієнтованої моделі програмування. Що включає у себе посилання, пакунки, та інше. Серед найбільших нововведень у Perl 5 слід відмітити наявніть модулів, які дозволяють повторно використовувати один і той же код. Ларрі Волл пізніше сказав: «Додання до Perl 5 підтримки модулів було здійснено з метою стимулювати зростання культури Perl, а не самої мови.»[19]

Усі версії Perl здійснюють автоматичне типізування змінних і управління пам'яттю. Інтерпретатор знає про тип та способи зберігання усіх об'єктів даних у програмі.

[ред.]Дизайн

Дизайн Perl можна описати, як відповідь на три основні тенденції в комп'ютерної індустрії: зниження вартості апаратного забезпечення, зростання вартості робочої сили, а також вдосконалення технології компіляторів. Багато ранніх мов програмування, як то Fortran та C, були розроблені таким чином, щоб якомога ефективніше використовувати на той час дороге апаратне забезпеченя. У протилежність, Perl було розроблено для підвищення ефективності роботи дорогих в наш час[Коли?] програмістів.

Perl має багато можливостей, які збільшують ефективність програміста за рахунок інтенсивного використання мікропроцесора та великих обсягів оперативної пам'яті. Серед них: автоматичне управління пам'яттю; динамічна типізація; стрічки, списки, та хеші; регулярні вирази; самоаналіз; та функція eval().

Ларі Уол має лінгвістичну освіту, і зпроектував Perl з використанням багатьох принципів лінгвістики. Наприклад, використовуючи кодування Хофмана (основні конструкції повинні бути короткими), хороше закінчення зважування (основна інформація повинна бути першою), і велику колекцію мовних примітивів. Perl підтримує мовні конструкції, які є короткими і природніми для людей при їхньому читанні і написанні, навіть якщо це ускладнює реалізацію інтерпретатора Perl.

[ред.]Синтаксис

Синтаксис Perl має багато спільного з синтаксисом мов Сі, Awk, Sed і Shell. Перший рядок початкового коду може починатися з «#!/Шлях/до/Perl [-ключі]» — що указує системі шлях до інтерпретатора Perl для виконання програми в *NIX системах і виконання їх на Веб-сервері.

Немає коментарів:

Дописати коментар