بينشيل

BeanShell هو مترجم جافا صغير ومجاني وقابل للتضمين، يتميز بخصائص لغة برمجة نصية كائنية التوجه ، ومكتوب بلغة جافا . يعمل على آلة جافا الافتراضية (JVM)، والتي تُسمى أيضًا بيئة تشغيل جافا (JRE)، وينفذ ديناميكيًا صيغة جافا القياسية ، ويُضيف إليها مزايا البرمجة النصية الشائعة مثل الأنواع المرنة والأوامر وإغلاق الدوال ، كما هو الحال في لغتي بيرل وجافا سكريبت . وهو برنامج مجاني ومفتوح المصدر، مُرخص بموجب رخصة أباتشي 2.0 منذ إصدار BeanShell 2.0b5.

سمات

على الرغم من أن BeanShell يسمح بتعريف الدوال التي يمكن استدعاؤها من داخل البرنامج النصي، إلا أن فلسفته الأساسية تقوم على عدم إثقال صيغته بالعديد من الإضافات والتحسينات البرمجية ، مما يضمن إمكانية تنفيذ التعليمات البرمجية المكتوبة لمترجم Java بشكل تفسيري بواسطة BeanShell دون أي تغييرات، والعكس صحيح تقريبًا. هذا ما يجعل BeanShell أداة اختبار وتصحيح شائعة لمنصة آلة Java الافتراضية (JVM).

يدعم BeanShell الكائنات المكتوبة كطرق إغلاق بسيطة مثل تلك الموجودة في Perl و JavaScript .

بما أن BeanShell مشروع مفتوح المصدر ، فقد تم دمجه في العديد من التطبيقات، مثل Apache OpenOffice و Apache Ant وخادم تطبيقات WebLogic 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 في توزيعة لينكس Debian منذ عام 1999. [ 7 ]

كانت لغة BeanShell تخضع للتوحيد القياسي من خلال عملية مجتمع جافا (JCP) بموجب JSR 274. [ 8 ]

بعد موافقة لجنة مراقبة العمليات المشتركة على اقتراع مراجعة تقرير مراجعة نظام إدارة الموارد المشتركة لشركة بين شيل في يونيو 2005، لم تُسجّل أي أنشطة ظاهرة حول بين شيل. [ 9 ] حالة تقرير مراجعة نظام إدارة الموارد المشتركة رقم 274 هي "معلقة".

منذ إصدار Java 9، أصبحت Java تتضمن JShell ، وهي واجهة سطر أوامر تفاعلية (REPL) مختلفة تعتمد على بنية Java، مما يشير إلى أن BeanShell لن يتم الاستمرار في تطويرها. [ 10 ]

تم إنشاء نسخة معدلة من BeanShell، تُسمى BeanShell2 ، في مايو 2007 على موقع Google Code الإلكتروني الذي توقف عن العمل الآن . [ 11 ] وقد أجرى مشروع BeanShell2 العديد من الإصلاحات والتحسينات على BeanShell، بالإضافة إلى إصدارات متعددة. اعتبارًا من يناير 2020أحدث إصدار من BeanShell2 هو الإصدار 2.1.9، الذي صدر في مارس 2018. [ 12 ] تم دمج هذه النسخة المتفرعة مرة أخرى في الشجرة الأصلية في عام 2018، [ 13 ] مع الاحتفاظ بجميع التغييرات المستقلة من كليهما، ويتم استضافة المشروع الرسمي على GitHub . [ 14 ]

في ديسمبر 2012، وبعد اقتراح قبول BeanShell كمشروع حاضنة أباتشي، [ 15 ] تم ترخيص BeanShell لمؤسسة برمجيات أباتشي ونُقل إلى Apache Extras، [ 16 ] مع تغيير الترخيص إلى رخصة أباتشي 2.0 . لم يُقبل المشروع، بل كان من المتوقع أن يصبح جزءًا من Apache Commons في وقت لاحق.

بسبب تغيرات في الظروف الشخصية للمطورين، لم يُكمل مجتمع BeanShell عملية الانتقال إلى Apache، [ 17 ] بل بقي على Apache Extras. وقد أصدر المشروع منذ ذلك الحين BeanShell 2.0b5، [ 16 ] والذي يستخدمه كل من Apache OpenOffice و Apache Taverna .

تم إنشاء برنامج تثبيت تلقائي لنظام التشغيل Windows، BeanShell Double-Click، [ 18 ] في عام 2013. وهو يتضمن ميزات تكامل سطح المكتب.

انظر أيضاً

ملحوظات

  1. أباتشي 2.0: من 2.0b5 – حتى الآن
  2. رخصة SPL 1.0 أو رخصة LGPL 2.1 فقط: من الإصدار 1.1alpha5 إلى الإصدار 2.0b4
  3. رخصة LGPL 2.1 فقط: من الإصدار 1.0 إلى الإصدار 1.1alpha3

مراجع

  1. "الإصدار 2.1.1" . 2 ديسمبر 2022. تم الاطلاع عليه في 7 ديسمبر 2022 .
  2. نيمير، بات. "رخصة برنامج بين شيل" . beanshell.org . تم الاطلاع عليه في 13 يناير 2016 .
  3. "BeanShell" . github.com . تم الاطلاع عليه بتاريخ 13 يناير 2016 .
  4. "Changes.md" . GitHub .
  5. "License.txt in 1.0" . GitHub .
  6. "تنزيلات BeanShell" . beanshell.org . 2009-01-28 . تم الاطلاع عليه في 28 يناير 2015 .
  7. "حزمة المصدر: bsh (2.0b4-12)" . دبيان . تم الاسترجاع في 28 يناير 2015 .
  8. برنامج عملية مجتمع جافا (SM) - طلبات مواصفات جافا (JSRs): تفاصيل JSR# 274. Jcp.org. تم الاطلاع عليه بتاريخ 21-07-2013.
  9. "برنامج عملية مجتمع جافا (SM) - طلبات مواصفات جافا: النتائج" . jcp.org .
  10. "JEP 222: jshell: The Java Shell (Read-Eval-Print Loop)" . openjdk.java.net . تم الاطلاع عليه بتاريخ 2015-09-03 .
  11. beanshell2 - نسخة معدلة من BeanShell - استضافة مشاريع جوجل . Code.google.com (21-11-2011). تم الاطلاع عليه بتاريخ 21-07-2013.
  12. جودليت، بيتر. "README.md" . جيت هاب . تم الاطلاع عليه بتاريخ 23 يناير 2020 .
  13. "تفرع للتحقيق في إمكانية الدمج · المشكلة رقم 46 · beanshell/Beanshell" . GitHub .
  14. https://github.com/beanshell/beanshell GitHub - beanshell/beanshell: Beanshell، لغة برمجة نصية لآلة جافا الافتراضية. تم الاطلاع عليه بتاريخ 2018-03-06.
  15. تريبودي، س؛ بازلي، س (2012). "مقترح بين شيل" . ويكي الحاضنة . مؤسسة برمجيات أباتشي.
  16. 1 2 "beanshell/beanshell" . 27 يناير 2021 - عبر GitHub.
  17. تريبودي، سيمون (2015-01-08). "هل يمكن استخدام Beanshell في Apache؟" . قائمة بريدية لمطوري Apache Taverna . مؤسسة برمجيات Apache . تم الاطلاع عليه بتاريخ 28 يناير 2015 .
  18. BeanShell Double-Click | تنزيلات برامج التطوير المجانية على موقع Sourceforge.net. تم الاطلاع عليه بتاريخ 21 يوليو 2013.