BeanShell | |
---|---|
Парадигма | Об'єктно-орієнтована скриптова мова |
Дата появи | 2000 |
Творці | Java Community Process |
Останній реліз | 1.3.0 |
Система типізації | динамічна, строга |
Під впливом від | Python, Ruby, Perl, Smalltalk, Java |
Мова реалізації | Java[1] |
Операційна система | крос-платформова (Java Virtual Machine) |
Ліцензія | LGPL |
Репозиторій вихідного коду | github.com/beanshell/beanshell |
Вебсайт | beanshell.org |
BeanShell це скриптова мова на основі Java, розроблена Патриком Німеєром (Patrick Niemeyer). Вона працює під Java Runtime Environment (JRE) і використовує власний синтаксис Java, долучений до скриптових команд і синтаксису. Оскільки BeanShell дозволяє своїм користувачам визначати функції, що можуть бути викликані зі скрипту, і має як основоположну філософію не змішувати свій синтаксис з дуже багатьма розширеннями і «синтаксичним цукром», тим самим певно, що код написаний для компілятора Java практично завжди буде виконаний інтерпретатором BeanShell без змін і, практично завжди, без змін відбудеться міграція коду в зворотному напрямку. Це робить BeanShell популярним інструментом тестування і зневадження.
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 [Архівовано 19 січня 2011 у Wayback Machine.]. Проєкт beanshell2 здійснив численні правки та вдосконалення BeanShell, але не підійшов до стабільного випуску.