Парадигма | Объектно-ориентированный , скриптовый |
---|---|
Разработано | ЯКП |
Впервые появился | 1999 ( 1999 ) |
Стабильный релиз | 2.1.1 [1] / 2 декабря 2022 г. ( 2 декабря 2022 ) |
Дисциплина набора текста | Динамичный , сильный |
Язык реализации | Ява |
Платформа | JVM |
ОС | Кроссплатформенный |
Лицензия | 2012: Apache-2.0 [a] [2] [3] 2001: только SPL-1.0 или LGPL-2.1 [b] [4] 1999: только LGPL-2.1 [c] [5] |
Веб-сайт | github.com/beanshell/beanshell |
Под влиянием | |
Java , JavaScript , Perl |
BeanShell — небольшой, бесплатный, встраиваемый интерпретатор исходного кода Java с функциями языка объектных скриптов, написанный на Java . Он работает в среде выполнения Java (JRE), динамически выполняет стандартный синтаксис Java и расширяет его обычными удобствами скриптов, такими как свободные типы, команды и замыкания методов, как в Perl и JavaScript.
Хотя BeanShell позволяет своим пользователям определять функции , которые могут быть вызваны из скрипта, его основополагающая философия заключается в том, чтобы не загрязнять свой синтаксис слишком большим количеством расширений и « синтаксического сахара », тем самым гарантируя, что код, написанный для компилятора Java, обычно может быть выполнен интерпретативно BeanShell без каких-либо изменений и, почти так же, наоборот. Это делает BeanShell популярным инструментом тестирования и отладки для платформы виртуальной машины Java (JVM).
BeanShell поддерживает скриптовые объекты как простые замыкания методов, подобные тем, что есть в Perl и JavaScript .
BeanShell — это проект с открытым исходным кодом , который был включен во многие приложения, такие как Apache OpenOffice , Apache Ant , WebLogic Server Application Server, Apache JMeter , jEdit , ImageJ , JUMP GIS , Apache Taverna и многие другие. BeanShell предоставляет простой в интеграции интерфейс прикладного программирования (API). Его также можно запускать в режиме командной строки или в собственной графической среде.
Первые версии BeanShell (0.96, 1.0) были выпущены Патриком Нимейером в 1999 году, за ними последовала серия версий. BeanShell 1.3.0 был выпущен в августе 2003 года. Версия 2.0b1 была выпущена в сентябре 2003 года, завершившись версией 2.0b4 в мае 2005 года, которая по состоянию на январь 2015 года является новейшим релизом, размещенным на официальной веб-странице. [6]
BeanShell включен в дистрибутив Linux Debian с 1999 года. [7]
BeanShell проходил стандартизацию в рамках Java Community Process (JCP) в соответствии с JSR 274. [8]
После одобрения JCP бюллетеня по обзору BeanShell JSR в июне 2005 года, вокруг BeanShell не наблюдалось никакой видимой активности. [9] Статус JSR 274 — «Дремлющий».
Начиная с Java 9, Java вместо этого включает JShell , другую оболочку цикла чтения-вычисления-печати (REPL), основанную на синтаксисе Java, что указывает на то, что BeanShell не будет продолжен. [10]
Форк BeanShell, BeanShell2 , был создан в мае 2007 года на ныне несуществующем веб-сайте Google Code . [11] Проект beanshell2 внес ряд исправлений и улучшений в BeanShell и выпустил несколько релизов. По состоянию на январь 2020 года последней версией BeanShell2 является v2.1.9, выпущенная в марте 2018 года. [12] Этот форк был объединен обратно в исходное дерево в 2018 году, [13] сохранив все независимые изменения из обоих, а официальный проект был размещен на GitHub . [14][обновлять]
В декабре 2012 года, после предложения принять BeanShell в качестве проекта Apache Incubator, [15] BeanShell был лицензирован Apache Software Foundation и перенесен в Apache Extras, [16] изменив лицензию на Apache License 2.0 . Проект не был принят, но вместо этого планировалось, что он станет частью Apache Commons в будущем.
Однако из-за изменений в личных обстоятельствах разработчиков сообщество BeanShell не завершило переход на Apache, [17] а осталось на Apache Extras. С тех пор проект выпустил BeanShell 2.0b5, [16] который используется Apache OpenOffice и Apache Taverna .
Автоматизированный установщик Windows BeanShell Double-Click [18] был создан в 2013 году. Он включает функции интеграции с рабочим столом.