Pharo — це сучасна, з відкритим вихідним кодом, динамічна мова програмування з можливістю програмувати в режимі реального часу[en], розробники якої черпали натхнення в Smalltalk[4], а також середовище розробки[5][6]. Pharo є похідним від Squeak[5], яка є реімплементацією класичної Smalltalk-80 системи. Pharo як і Squeak є діалектом Smalltalk[7]. У той час як Squeak був розроблений в основному як платформа для розробки експериментальних освітніх програм, Pharo пропонує гнучку платформу з відкритим вихідним кодом для професійної розробки програмного забезпечення, а також надійну та стабільну основу для наукових досліджень і розробки в галузі динамічних мов і середовищ.

Pharo
Парадигмаоб'єктно-орієнтована
Дата появи2008
РозробникPharo board [1]
Останній реліз12.0 (26 квітня 2024)[2]
Система типізаціїДинамічна типізація
Основні реалізаціїPharo
Під впливом відSmalltalk, Squeak
Мова реалізаціїSmalltalk
Операційна системаЛінукс, OS X, Windows
ЛіцензіяЛіцензія MIT, Ліцензія Apache[3]
Звичайні розширення файлів.st, .mcz
Репозиторій вихідного кодуgithub.com/pharo-project/pharo
Вебсайтpharo.org
середовище виконання Pharo

Pharo усуває деякі проблеми з ліцензуванням Squeak. На відміну від попередніх версій Squeak, ядро Pharo містить тільки код, який був внесений під ліцензією MIT[8].

Проект Pharo почався в березні 2008 року як відгалудження Squeak 3.9, і перша 1.0 бета-версія була випущена 31 липня 2009 року. Хоча Pharo продублював багато пакетів зі Squeak, він також включає в себе численні функції, які необов'язкові в Squeak. Наприклад, шрифти TrueType вбудовані в Pharo. Pharo також забезпечує підтримку справжнього замикання блоків. Інтерфейс користувача спрощений та переглянутий. Pharo дуже портативний — навіть його віртуальна машина повністю написана на Smalltalk, що робить його легким для налагодження, аналізу та зміни. Pharo задуманий як засіб для широкого спектра інноваційних проектів від мультимедійних додатків до освітніх платформ на умовах комерційної веброзробки.

В розробку Pharo закладено принцип бути не просто копією минулих реалізацій, а винаходити Smalltalk заново шляхом еволюційних і поступових, не різких чи радикальних, змін, даючи можливість проекспериментувати з важливими новими можливостями, без мети наступного ідеального рішення за один крок. Успіх Pharo залежить від внеску усієї спільноти[8].

Примітки

ред.
  1. Pharo board
  2. https://pharo.org/news/2024-04-26-pharo12-released.html
  3. Pharo license
  4. Stéphane Ducasse, Dimitris Chloupis, Nicolai Hess, and Dmitri Zagidulin. Pharo By Example 5. — 2018. — P. 1.(англ.)
  5. а б How Do Developers React to API Evolution? The Pharo Ecosystem Case // 2015 IEEE 31st International Conference on Software Maintenance and Evolution (ICSME). — Bremen, Germany, 2015. — ISBN 978-1-4673-7532-0.(англ.)
  6. Кормушин Я. К., Ярошко С. А. Розробка засобів візуалізації операцій над зв'язними структурами даних в середовищі Pharo // Захист інформації в інформаційно-комунікаційних системах: збірник тез доповідей ІІІ Всеукраїнської науково-практичної конференції молодих учених, студентів і курсантів, м. Львів, 28 листопада 2019 року. — Львів, ЛДУ БЖД, 2019. — С. 273.
  7. Illicium A modular transpilation toolchain from Pharo to C // IWST19 - International Workshop on Smalltalk Technologies. — 2019.(англ.)
  8. а б Andrew P. Black, Stéphane Ducasse, Oscar Nierstrasz and Damien Pollet. Pharo by Example. — First Edition. — 2009. — ISBN 978-3-9523341-4-0.(англ.)

Джерела

ред.

  Ця стаття містить текст від Andrew P. Black, Stéphane Ducasse, Oscar Nierstrasz and Damien Pollet доступний за ліцензією CC BY 3.0.