Це важлива подія в світі програмуваннявідбулося в 1986 році, коли звичайний на перший погляд хлопець Ларрі Уолл після копіткої роботи оголосив світу, що розробив мову програмування Perl. Шлях до цієї знаменної події виявився важким і тернистим, але результат того вартий. Як, хто і навіщо розробив нову мову програмування? Тут є відповіді на всі ці питання.
Передісторія
Поштовхом для цього відкриття послужила вагомапричина. Тоді він брав участь в проекті UNIX. Робота була складна, так як необхідно було створити безпечну мережу з багатьма рівнями, щоб була можливість об'єднати роботу декількох комп'ютерів, що працюють один від одного на значних відстанях. Весь процес був виконаний успішно, але ось звіти довелося робити дуже трудомісткі, не тільки з величезною кількістю файлів, але і з перехресними посиланнями між ними.
Уолл вирішив застосувати для роботи фільтр awk, алевиникла несподівана перешкода: неможливо було керувати ні відкриттям, ні закриттям величезного числа файлів - за іронією - на основі в них же міститься інформації про розташування цих файлів.
Спочатку Ларрі, щоб дозволити непередбаченупроблему, вирішив написати специфічну системну утиліту. Вона, здавалося б, була виходом із ситуації. Але до цього їм було вже складено кілька утиліт для вирішення цієї проблеми, які, на жаль, не стали виходом для стандартів UNIX.
Ось тому талановитий системний адміністратор,за освітою лінгвіст, що допомогло йому в роботі, ризикнув і створив мову програмування Perl, щоб була можливість одночасно обробляти текстові файли, знаходити рішення для системних задач, створювати більш зрозумілі звіти. І в той же час щоб це було низкоуровневое програмування, яке було б доступним мовою С. Тому інтерпретатор мови Perl і був написаний на ньому.
Нова мова програмування: причина виникнення
Як стверджував Ларрі, допомогла йому створити новиймова лінь. Але саме та лінь, яка дозволила вирішити важливе завдання: як уникнути складання численного числа програм на різних мовах, які були невід'ємною частиною інструментальних засобів UNIX. Занадто стомлюючої була така процедура.
Гідність нової мови оцінили інші, так якв ньому гармонійно поєднувалися можливості обробки файлів і системного адміністрування. А це саме два необхідних факту, які потрібні під час програмування системи UNIX.
Слід зазначити, що у мови програмуванняPerl є невелика відмінність від інших подібних мов: він з'явився через те, що в ньому назріла необхідність, а не для того, щоб вразити користувачів або придумати чергове гарне засіб, який не зіграє особливої ролі.
Навпаки, коли Ларрі ознайомив користувачів зісвоїм винаходом, серед системних адміністраторів воно справило справжній фурор, адже тепер відпадала необхідність витрачати багато часу, щоб вникнути в кілька мов програмування, і з'явилася можливість легко вирішити проблеми шляхом використання єдиної мови з використанням таблиці символів.
Особливості
У перекладі на російську мову абревіатура Perl звучить як «практичну мову, щоб витягувати дані і складати звіти».
Символом цього виду мови вирішили зробитиверблюда, напевно, вважаючи, що, так як тварина цю благородну, витривале, здатне багато днів покірно нести важку ношу, такий же праця нагадує навантаження на нову мову, теж неабияку.
Чому нову мову відразу оцінили багатокористувачі, є багато причин. Хто користується системою UNIX, знає, що настройки тут проходять через спеціальні файли - звичайні текстові, а зміни здійснюються після виконання команд. Вони написані на особливому мовою оболонки, а їх виконання відбувається з командного рядка.
Система UNIX дозволяє створювати індивідуальнікоманди, спираючись на команди інтерпретатора і зберігаючи їх. Вони залишаються в текстових файлах, і якщо потрібно, виконуються як стандартний набір команд операційної системи - тільки через командний рядок.
команди користувача інакше іменуються скрипти.В системі UNIX доводиться операційного адміністратору писати велику кількість скриптів, які, в свою чергу, обробляють наступні скрипти, т. Е. Текстові файли з використанням спеціальних програм:
- Awk. Програма дає можливість зіставляти з даними зразками і служить генератором звітів.
- Sed. Виступає як пакетний редактор для текстових файлів.
Програми в якості фільтрів по черзізчитують рядки вхідних файлів. Потім вони виконують застосовні до рядка дії, які визначаються завдяки командам програм. При цьому виділяється ланцюжок символів за певними шаблонами, заміна за встановленими правилами, генеруються нові файли.
Великі можливості
Нова мова програмування Perl відкрив дуже багаті можливості в тих випадках, коли потрібно обробити текст, стійкі вирази. Відрізняє Perl великі варіанти допоміжних модулів.
Згодом цей унікальний мову розширив своїкордони, і тепер широко використовується в веб-розробках і іграх, якщо необхідно мережеве програмування або графічна розробка інтерфейсів для користувачів.
Мова прижився і полюбився за легкістьвикористання, зараз його визнають як найдинамічніший мову програмування. Він може використовувати широкий парадигми, куди входять стилі - функціональний, процедурний та інші, у нього є контроль за пам'яттю, є підтримка обробки тексту.
Не дарма один з девізів Л. Уолла говорить, що речі прості можуть залишатися простими, але складні їх необхідно виконувати.
Освоїти мову нескладно, розібравшись у виразах привласнення, блоках коду, керуючих структурах і функціях.
Схожість c іншими мовами
Ларрі багато запозичив з інших мов програмування. наприклад:
- Командні оболонки UNIX. Змінні марковані провідними знаками, воничітко висловлюють тип змінної і допомагають цим змінним бути в рядках інтерпольованого. Вбудовані функції забезпечують інструментарій, а він використовується для програмування оболонки.
- Масиви з Лиспа.
- Використання Perl регулярних виразів з awk, Заодно запозичивши від нього асоціативні мотиви.
- З sed.
Але з власними завданнями нову мову справлявся набагато швидше, і його, тому почали застосовувати не тільки для вирішення завдань системного адміністрування.
Уолл почерпнув у Г.Спенсера пакет, який допоміг освоїти Perl регулярні вирази, модифікуючи його під своє дітище. Багато розроблені функції - заслуга не тільки Ларрі. Колеги і друзі не менше захоплено намагалися привнести в розроблювану унікальну програму свої нововведення. А коли мова з'явився в інтернеті, утворилося ціле співтовариство однодумців, які теж допомогли його вдосконалити. У роботі задіяно з тих пір, як стверджує статистика, понад 10 000 програмістів.
Втім, мова і зараз вдосконалюється завдяки розробці пакетів, які використовуються з успіхом у реалізації нових застосувань мови під розвиваються технології, пов'язані з інформацією.
Етапи розвитку
Невеликі, але значні етапи шляху можна виділити в таблиці.
випускаються версії | Час створення |
perl 1. Багато можливостей не містила. Це був найпростіший спосіб пошуку в файлах по шаблонах. Але були дескриптори файлів, формат та скалярні змінні. | 1988 рік. Січень. |
perl 2. З'явився поки ще не вдосконалений механізм регулярних виразів. | 1988 рік. Червень. |
perl 3. Розробники домоглися можливості обробити потоки двійкових даних. | 1989 рік. Жовтень. |
perl 4. З'явилася здебільшого завдяки книзі, що побачила світ, «Programming Perl », але під назвою більше відомим, як«Верблюжа книга». Закріпив документовано нову мову. Цей період пройшов цілу серію релізів, в результаті зупинившись на версії 4.036. Це був уже 1993 год. Тоді почалася робота над наступною - V - версією. | 1991 рік. Березень. |
perl 5.З'явилася підтримка складних типів даних, об'єктна модель, що включає в себе посилання, пакети, а також замикання в якості значення. Створюється список розсилок, щоб можна було координувати роботу на різні платформи. По суті, це стало головним форумом по розробці, портированию і обслуговування. Модулі тепер є з важливою частиною версії, адже вони змогли розширити мову, але без участі модифікування інтерпретатора. Це змогло його стабілізувати, однак розширило мовні можливості. | 1994 рік. Жовтень. |
Унікальний Perl - мова програмування: плюси і мінуси
Perl 5 активно розробляється і тепер,поповнюючись все новими версіями. Але все розробки ріднить кілька факторів: виконується автоматична типізація даних, проводиться автоматичний контроль над пам'яттю.
Завдяки інтерпретатора відомі не тільки типи, а й запити пам'яті кожного об'єкта програми, і йому не складає труднощів розподілити пам'ять, звільнити при підрахунку посилань.
Потрібно відзначити, що Perl-програмуваннявідрізняє інтерпретатор від інших. Доказом тому є трансляція програми в проміжний байт-код, а вже потім починає виконуватися. У порівняння: традиційний працює трохи інакше - вводиться оператор інтерпретується і миттєво виконується, що загрожує синтаксичними помилками під час робочого процесу. Perl дозволяє виявити такого роду помилки вже в період трансляції в бай-код.
Для того щоб перевести один вид даних в інший, потрібно автоматичний процес, якщо ж неможливі переклади будь-яких видів даних, це може привести до фатальної помилки.
Заслуга версії 5 004 в тому, що тут єпакет UNIVERSAL, який мови дав основний об'єкт, а від нього пішли всі класи - на автоматичній основі. З'явилася можливість запросити версію модулів. Стало реальністю підтримувати запитувати версію модулів. На додаток до цього perl став підтримувати багато операційні системи, і Microsoft Windows в тому числі.
Версія 5.005, що вийшла в 1998 році, значно підвищила якість процесора регулярних виразів, поліпшила нові перехоплення в бекенд, що вирішилося за допомогою певних модулів і розширила підтримку операційних систем.
останні оновлення
Двохтисячний рік подарував світові нову, 5.6, версію мови перл. Вона вже виглядала набагато солідніше перше, мала 64-бітові системи, в стані була підтримати файли більше двох Гб, включала уявлення рядків, враховуючи стандарт юнікод, а також ключове слів - our. У цей період змінюється схема найменувань версій, щоб вона була ближчою до інших проектів - з відкритим вихідним кодом.
Цікавим фактом є таке рішення: якщо в розробці знаходиться версія, їй буде присвоєно номер з непарними цифрами, а стабільна отримує парну нумерацію.
Уолл тоді звернувся до своїх прихильників зпроханням вносити пропозиції для створення більш просунутою версією. Його заклик був почутий, а підсумком з'явився 361 документ, що допомогло розробляти VI версію. На суд користувачам представили документ, який, швидше за все, був схожий на зведення, а ця версія існувала, але лише у вигляді опису мови. Ряд документів перетворився в специфікацію цієї версії. Спроба запустити в дію інтерпретатор VI версії в 2006 році була зупинена. Але з 2009 року під назвою Rakudo Perl ця версія живе і періодично її оновлюють.
Значна зміна процесу розробки Perl 5 стався після появи Perl 5.11. Спільнота розробників перейшло на щомісячний цикл випусків, з плануванням дати випуску на три місяці вперед.
Нова версія
Версія 5.8 з'явилася в 2002 році.Знаменита вона тим, з цього часу щорічно оновлювалася до 2008 року, значно поліпшила підтримку юникода, додала багато функцій, в які входять підтримка багатопоточності, оригінальна реалізація вводу-виводу і збільшила точність числову. І, знову ж таки, з'явилися нові модулі.
До 20-річчя створення мови програмування загальногопризначення нова версія під номером «5.10.0» не розчарувала користувачів в черговий раз. З'явилися нові оператори, а також «розумний» - збіги, пройшло оновлення регулярних виразів.
Що принесли останні роки роботи?
Щороку все нові удосконалення допомагализробити мову, винайдений Уоллом, все найбільш легше простіше і доступніше. 2010 рік ознаменувався тим, що синтаксис мови perl отримав підтримку package NAME VERSION, перевантаження операторів регулярних виразів, в наступні роки оновлювалися модулі, розширювалася підтримка операторів.
Була досягнута мета - вказати під час роботи туверсію, яку слід емулювати, значить, дозволити оновити perl, але при цьому не втратити робочі здатності використаних скриптів, які становлять загрозу опинитися несумісними з представленої новою версією. Стало більше функцій, збільшилася безпеку.
В кінці травня, зовсім недавно, з'явилася черговаверсія, як завжди, більш вдосконалена і зручна для роботи. Сьогодні її може протестувати будь-який бажаючий і на своєму особисто досвіді переконатися, що для створення цієї мови програмування зроблено чимало роботи.
У цій мові Perl масиви не обмежені.Можна вирішувати, використовуючи мову, нетрадиційні завдання, для здійснення яких було б в іншому випадку задіяно кілька, виконати завдання адміністрування, обробити якісно текстові файли, і на всі проблеми часу буде витрачено не так багато. Розробляючи нові програми, використовуючи таблицю символів, задіюючи необхідних операторів, результат вийде правильний і швидкий.
Ця стаття в черговий раз довела, що дляентузіастів своєї справи немає нічого неможливого. Часом навіть самі незначні проблеми ведуть до корисних відкриттів, які можуть зробити наше життя трішки простіше.