BeanShell

BeanShell це скриптова мова на основі Java, розроблена Патриком Німеєром (Patrick Niemeyer). Вона працює під Java Runtime Environment (JRE) і використовує власний синтаксис Java, долучений до скриптових команд і синтаксису. Оскільки BeanShell дозволяє своїм користувачам визначати функції, що можуть бути викликані зі скрипту, і має як основоположну філософію не змішувати свій синтаксис з дуже багатьма розширеннями і «синтаксичним цукром», тим самим певно, що код написаний для компілятора Java практично завжди буде виконаний інтерпретатором BeanShell без змін і, практично завжди, без змін відбудеться міграція коду в зворотному напрямку. Це робить BeanShell популярним інструментом тестування і зневадження.

BeanShell
Парадигма Об'єктно-орієнтована скриптова мова
Дата появи 2000
Творці Java Community Process
Останній реліз 1.3.0
Система типізації динамічна, строга
Під впливом від Python, Ruby, Perl, Smalltalk, Java
Операційна система крос-платформова (Java Virtual Machine)
Ліцензія LGPL
Репозиторій вихідного коду github.com/beanshell/beanshell
Вебсайт beanshell.org

BeanShell підтримує скриптові об'єкти простим методом замикання, подібно до того, як це роблять Perl чи JavaScript.

BeanShell є проєктом з відкритим кодом і включений до численних застосунків, таких як OpenOffice.org, Apache Ant, BEA WebLogic Application Server, jEdit і багатьох інших. BeanShell має просте для інтеграції API. Також він може запускатися в режимі командного рядка або всередині свого власного графічного середовища.

Java Community Process ухвалив JSR 274, що означав намір зробити BeanShell частиною платформи Java. Проте ухвала JCP BeanShell JSR Review Ballot у червні 2005 констатувала відсутність видимої активності навколо BeanShell. Статус JSR 274 став "неактивним".

У травні 2007 на сайті Google Code був створений форк (відгалуження) BeanShell, названий beanshell2. Проєкт beanshell2 здійснив численні правки та вдосконалення BeanShell, але не підійшов до стабільного випуску.

Посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.