BeanShell alternatives (was Re: Status of project and adding 1.5 generics)
Paul Reavis <[email protected]> Wed, 10 Dec 2008 13:40:15 -0500
| Newsgroups | gmane.comp.java.beanshell.devel |
|---|---|
| Message-ID | <[email protected]> |
Have looked hard again at Groovy as a possible replacement for BeanShell. We used it in the initial 4.0 version of our platform, three or four years ago, and in general I was happy with it. We migrated to BeanShell for two reasons: 1) Groovy project leadership looked unstable 2) it looked like the philosophy was moving away from a java-like interpreted language to a much different language I couldn't tell which direction it was going or if it would even survive, so bailed. I did miss some things, like the looser == syntax, heredoc-style multiline strings, easy declaration of collections, etc. Also I think the Groovy just-in-time compilation has performance advantages over BeanShell's AST interpretation model. We run the same script over and over again (possibly thousands of times per session) so having a clear load-compile-set variables-run lifecycle is good. Groovy has rebounded and seems quite popular now. The philosophy did not take the weird direction I feared it might, and in fact it still looks a lot like the original version we used. Eclipse has a real plugin for it. So, it looks like a reasonable candidate and I am going to stick it back in and see how it plays with our platform. We will still need legacy support for BeanShell, perhaps for years. Also, looking at our experience with Jython and Groovy, I may have been too hasty on both to assume they were dying. Open source projects tend to live forever in some form or another and if there is sufficient interest we can revive BeanShell. I see no inherent problems with it as it stands now, but without regular releases and keeping up with Java it will be perceived as a dead end. On Dec 10, 2008, at 1:23 PM, Paul Landes wrote: > Cross mailing to the JDEE group. > > Paul Reavis writes: >> I guess the fundamental question I must answer for myself is whether >> the only thing holding BeanShell back is lack of active development, >> or whether it's a deadend compared to Jython, JRuby, etc... >> >> I'm willing to provide the development or hosting but if it's going >> to >> become a backwater I'd probably still want to move. A big bonus for >> Jython and JRuby is larger support network - books, IDE integration, >> training, etc. >> >> On Dec 9, 2008, at 7:01 AM, David A. Lee wrote: >> >>> Mine as well. I use BeanShell in a production environment for years >>> and am also worried about its "support". >>> Not that I'm expecting free labor, or even active development by >>> volunteers, >>> but it is worrisome that known bugs or future bugs may bite me. >>> I do have the source so I could fix things myself, but its a bit >>> unsettling. >>> I like the idea of the beanshell2 fork on google, and have >>> contibuted to it in the past. >>> But the goals of that branch differ from mine ... or atleast *may* >>> differ in the future. >>> I dont want enhancements, or refactoring of the code, simply >>> stability and possible extreme bug fixes. >>> But again, I'm not expecting someone else to do my job. But also I >>> dont want my job to be bug fixing an existing library either !:) >>> >>> I'm considering shifting over to "pure java" by natively invoking >>> the javac compiler, loading the .class files and executing them >>> with reflection. The syntax wont be as nice, and its a non-trivial >>> job to implement this, but in the long run it might be a better >>> architecture then relying on an 'abandoned' platform no matter how >>> good that is. >>> >>> >>> >>> >>> >>> ----- Original Message ----- >>> From: Gary Furash >>> To: Beanshell-developers-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org >>> Sent: Tuesday, December 09, 2008 12:53 AM >>> Subject: Re: [Beanshell-dev] Status of project and adding 1.5 >>> generics >>> >>> Your experience. matches my own. Groovy became its own language. >>> Beanshell as really an ideal scripting language. We used it >>> extensively at my old shop and it held up beautifully. Pat did a >>> great job and then had to move on for whatever reason. >>> >>> On Mon, Dec 8, 2008 at 6:51 PM, Paul Reavis <[email protected]> >>> wrote: >>> >>> On Dec 8, 2008, at 7:42 PM, Paul Landes wrote: >>> >>>> Is there anyone attached to beanshell for JDE critical >>> functionality? >>>> Again, I'm a huge fan of it, but not if it isn't maintained. >>> >>> We use it extensively at Partner Software. It's the primary >>> scripting >>> language for our platform (a sort of gis viewer on steroids with >>> accompanying application server). >>> >>> I have been concerned about beanshell's lack of support for some >>> time. >>> We originally used Jython (back when it was the only scripting >>> language for Java), then played with Groovy, and finally settled on >>> BeanShell. My primary requirement was that it be more or less >>> syntactically identical to Java, so that I could easily port code to >>> and from Java, and so that people starting in scripting could >>> migrate >>> to "real" Java development without too much change shock. >>> >>> Jython was adrift for awhile but now seems actively maintained. I >>> have >>> no problem with Jython or Python per se but I find it difficult to >>> go >>> back and forth between it and Java - they are syntactically close >>> enough to make it easy to screw up. >>> >>> I liked Groovy initially but it started wandering off weirdly for >>> awhile, then they made the decision to make it very different from >>> Java so I lost interest. >>> >>> I have cracked open the BeanShell code and fixed some of the issues. >>> It's not terribly well written and has some modularity issues; I had >>> to hack in some support for a sort of compile-once-run-often model >>> to >>> improve performance - our system tends to have lots of small scripts >>> that get executed often. And as others have mentioned it would be >>> nice >>> to get 1.5 and 1.6 features in. I did add vararg support though it's >>> not perfect. >>> >>> Nowadays there are any number of scripting languages one can code >>> in; >>> I've made the support in our platform modular so it supports bison, >>> jython, jruby, beanshell, stringtemplate and pretty much any other >>> implementation of the Java scripting framework or even custom ones >>> if >>> you can implement a simple interface. But I still like the idea of a >>> very Java-like scripting language. >>> >>> Considering our investment in it so far, I would be willing to adopt >>> the project and work on getting a new version out, especially with >>> those fixes I feel need to be in there. I don't have tons of time, >>> however, and I can't guarantee that I would push the code very >>> aggressively. By and large it works well for us. My goals would be: >>> 1) stability >>> 2) performance >>> 3) adherence to Java syntax wherever possible >>> >>> I am not at all interested in custom syntax, extension frameworks >>> like >>> Grails, etc. >>> >>> And with all due respect to Pat, I've always thought the name was >>> silly. >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, >>> Nevada. >>> The future of the web can't happen without you. Join us at MIX09 to >>> help >>> pave the way to the Next Web now. Learn more and register at >>> http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ >>> _______________________________________________ >>> Beanshell-developers mailing list >>> Beanshell-developers-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org >>> https://lists.sourceforge.net/lists/listinfo/beanshell-developers >>> >>> >>> >>> -- >>> Gary Furash, 602-561-9057, [email protected] >>> >>> >>> ------------------------------------------------------------------------------ >>> SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, >>> Nevada. >>> The future of the web can't happen without you. Join us at MIX09 to >>> help >>> pave the way to the Next Web now. Learn more and register at >>> http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ >>> >>> >>> _______________________________________________ >>> Beanshell-developers mailing list >>> Beanshell-developers-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org >>> https://lists.sourceforge.net/lists/listinfo/beanshell-developers >>> ------------------------------------------------------------------------------ >>> SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, >>> Nevada. >>> The future of the web can't happen without you. Join us at MIX09 to >>> help >>> pave the way to the Next Web now. Learn more and register at >>> http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/_______________________________________________ >>> Beanshell-developers mailing list >>> Beanshell-developers-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org >>> https://lists.sourceforge.net/lists/listinfo/beanshell-developers >> >> <html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; >> -webkit-line-break: after-white-space; ">I guess the fundamental >> question I must answer for myself is whether the only thing holding >> BeanShell back is lack of active development, or whether it's a >> deadend compared to Jython, JRuby, etc...<div><br></div><div>I'm >> willing to provide the development or hosting but if it's going to >> become a backwater I'd probably still want to move. A big bonus for >> Jython and JRuby is larger support network - books, IDE >> integration, training, etc. </div><div><br></ >> div><div><div><div>On Dec 9, 2008, at 7:01 AM, David A. Lee wrote:</ >> div><br class="Apple-interchange-newline"><blockquote >> type="cite"><span class="Apple-style-span" style="border-collapse: >> separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: >> 12px; font-style: normal; font-variant: normal; font-weight: >> normal; letter-spacing: normal; line-height: normal; orphans: 2; >> text-align: auto; text-indent: 0px; text-transform: none; white- >> space: normal; widows: 2; word-spacing: 0px; -webkit-border- >> horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; - >> webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: >> auto; -webkit-text-stroke-width: 0; "><div >> bgcolor="#ffffff"><div><font size="2">Mine as well. I use >> BeanShell in a production environment for years and am also >> worried about its "support".</font></div><div><font size="2">Not >> that I'm expecting free labor, or even active development by >> volunteers,</font></div><div><font size="2">but it is worrisome >> that known bugs or future bugs may bite me.</font></div><div><font >> size="2">I do have the source so I could fix things myself, but its >> a bit unsettling.</font></div><div><font size="2">I like the idea >> of the beanshell2 fork on google, and have contibuted to it in the >> past.</font></div><div><font size="2">But the goals of that branch >> differ from mine ... or atleast *may* differ in the future.</font></ >> div><div><font size="2">I dont want enhancements, or refactoring of >> the code, simply stability and possible extreme bug fixes.</ >> font></div><div><font size="2">But again, I'm not expecting someone >> else to do my job. But also I dont want my job to be >> bug fixing an existing library either !:)</font></div><div><font >> size="2"></font> </div><div><font size="2">I'm considering >> shifting over to "pure java" by natively invoking the javac >> compiler, loading the .class files and executing them</font></ >> div><div><font size="2">with reflection. The syntax >> wont be as nice, and its a non-trivial job to implement this, but >> in the long run it might be a better</font></div><div><font >> size="2">architecture then relying on an 'abandoned' platform no >> matter how good that is.</font></div><div><font size="2"></ >> font> </div><div><font size="2"></font> </div><div><font >> size="2"></font> </div><div><font size="2"></font> </ >> div><div><font size="2"></font> </div><blockquote >> style="padding-right: 0px; padding-left: 5px; margin-left: 5px; >> border-left-color: rgb(0, 0, 0); border-left-width: 2px; border- >> left-style: solid; margin-right: 0px; "><div style="font: normal >> normal normal 10pt/normal arial; ">----- Original Message -----</ >> div><div style="background-image: initial; background-repeat: >> initial; background-attachment: initial; -webkit-background-clip: >> initial; -webkit-background-origin: initial; background-color: >> rgb(228, 228, 228); font: normal normal normal 10pt/normal arial; >> background-position: initial initial; "><b>From:</b><span >> class="Apple-converted-space"> </span><a title="[email protected] >> " href="mailto:[email protected]">Gary Furash</a></div><div >> style="font: normal normal normal 10pt/normal arial; "><b>To:</ >> b><span class="Apple-converted-space"> </span><a title="Beanshell-developers-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org >> " href="mailto:Beanshell-developers-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org">Beanshell-developers-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org >> </a></div><div style="font: normal normal normal 10pt/normal arial; >> "><b>Sent:</b><span class="Apple-converted-space"> </ >> span>Tuesday, December 09, 2008 12:53 AM</div><div style="font: >> normal normal normal 10pt/normal arial; "><b>Subject:</b><span >> class="Apple-converted-space"> </span>Re: [Beanshell-dev] >> Status of project and adding 1.5 generics</div><div><br></div>Your >> experience. matches my own. Groovy became its own >> language. Beanshell as really an ideal scripting >> language. We used it extensively at my old shop and it held >> up beautifully. Pat did a great job and then had to move on >> for whatever reason.<br><br><div class="gmail_quote">On Mon, Dec 8, >> 2008 at 6:51 PM, Paul Reavis<span class="Apple-converted- >> space"> </span><span dir="ltr"><<a href="mailto:[email protected] >> ">[email protected]</a>></span><span class="Apple-converted- >> space"> </span>wrote:<br><blockquote class="gmail_quote" >> style="padding-left: 1ex; margin-top: 0px; margin-right: 0px; >> margin-bottom: 0px; margin-left: 0.8ex; border-left-color: rgb(204, >> 204, 204); border-left-width: 1px; border-left-style: solid; "><div >> class="Ih2E3d"><br>On Dec 8, 2008, at 7:42 PM, Paul Landes >> wrote:<br><br>> Is there anyone attached to beanshell for JDE >> critical functionality?<br>> Again, I'm a huge fan of it, but not >> if it isn't maintained.<br><br></div>We use it extensively at >> Partner Software. It's the primary scripting<br>language for our >> platform (a sort of gis viewer on steroids with<br>accompanying >> application server).<br><br>I have been concerned about beanshell's >> lack of support for some time.<br>We originally used Jython (back >> when it was the only scripting<br>language for Java), then played >> with Groovy, and finally settled on<br>BeanShell. My primary >> requirement was that it be more or less<br>syntactically identical >> to Java, so that I could easily port code to<br>and from Java, and >> so that people starting in scripting could migrate<br>to "real" >> Java development without too much change shock.<br><br>Jython was >> adrift for awhile but now seems actively maintained. I have<br>no >> problem with Jython or Python per se but I find it difficult to >> go<br>back and forth between it and Java - they are syntactically >> close<br>enough to make it easy to screw up.<br><br>I liked Groovy >> initially but it started wandering off weirdly for<br>awhile, then >> they made the decision to make it very different from<br>Java so I >> lost interest.<br><br>I have cracked open the BeanShell code and >> fixed some of the issues.<br>It's not terribly well written and has >> some modularity issues; I had<br>to hack in some support for a sort >> of compile-once-run-often model to<br>improve performance - our >> system tends to have lots of small scripts<br>that get executed >> often. And as others have mentioned it would be nice<br>to get 1.5 >> and 1.6 features in. I did add vararg support though it's<br>not >> perfect.<br><br>Nowadays there are any number of scripting >> languages one can code in;<br>I've made the support in our platform >> modular so it supports bison,<br>jython, jruby, beanshell, >> stringtemplate and pretty much any other<br>implementation of the >> Java scripting framework or even custom ones if<br>you can >> implement a simple interface. But I still like the idea of >> a<br>very Java-like scripting language.<br><br>Considering our >> investment in it so far, I would be willing to adopt<br>the project >> and work on getting a new version out, especially with<br>those >> fixes I feel need to be in there. I don't have tons of >> time,<br>however, and I can't guarantee that I would push the code >> very<br>aggressively. By and large it works well for us. My goals >> would be:<br>1) stability<br>2) performance<br>3) adherence to Java >> syntax wherever possible<br><br>I am not at all interested in >> custom syntax, extension frameworks like<br>Grails, etc.<br><br>And >> with all due respect to Pat, I've always thought the name was >> silly.<br><div><div></div><div >> class >> = >> "Wj3C7c >> "> >> < >> br >> > >> < >> br >> > >> < >> br >> > >> ------------------------------------------------------------------------------< >> br>SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las >> Vegas, Nevada.<br>The future of the web can't happen without you. >> Join us at MIX09 to help<br>pave the way to the Next Web now. >> Learn more and register at<br><a href="http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ >> " target="_blank">http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ >> </ >> a><br>_______________________________________________<br>Beanshell- >> developers mailing list<br><a href="mailto:Beanshell-developers-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org >> ">Beanshell-developers-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org</a><br><a href="https://lists.sourceforge.net/lists/listinfo/beanshell-developers >> " target="_blank">https://lists.sourceforge.net/lists/listinfo/beanshell-developers >> </a><br></div></div></blockquote></div><br><br clear="all"><br>-- >> <span class="Apple-converted-space"> </span><br>Gary Furash, >> 602-561-9057,<span class="Apple-converted-space"> </span><a >> href >> ="mailto:[email protected]">[email protected]</ >> a><br><div><br class="webkit-block-placeholder"></div><hr><div><br >> class="webkit-block-placeholder"></ >> div >> > >> ------------------------------------------------------------------------------< >> br>SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las >> Vegas, Nevada.<br>The future of the web can't happen without >> you. Join us at MIX09 to help<br>pave the way to the Next Web >> now. Learn more and register at<br><a href="http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ >> ">http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ >> </a><div><br class="webkit-block-placeholder"></div><hr><div><br >> class="webkit-block-placeholder"></ >> div>_______________________________________________<br>Beanshell- >> developers mailing list<br><a href="mailto:Beanshell-developers-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org >> ">Beanshell-developers-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org</a><br><a href="https://lists.sourceforge.net/lists/listinfo/beanshell-developers >> ">https://lists.sourceforge.net/lists/listinfo/beanshell- >> developers</a><br></ >> blockquote >> > >> ------------------------------------------------------------------------------< >> br>SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las >> Vegas, Nevada.<br>The future of the web can't happen without you. >> Join us at MIX09 to help<br>pave the way to the Next Web now. >> Learn more and register at<br><a href="http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/_______________________________________________ >> ">http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/_______________________________________________ >> </a><br>Beanshell-developers mailing list<br><a href="mailto:Beanshell-developers-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org >> ">Beanshell-developers-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org</a><br><a href="https://lists.sourceforge.net/lists/listinfo/beanshell-developers >> ">https://lists.sourceforge.net/lists/listinfo/beanshell- >> developers</a><br></div></span></blockquote></div><br></div></ >> body></ >> html >> > >> ------------------------------------------------------------------------------ >> SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, >> Nevada. >> The future of the web can't happen without you. Join us at MIX09 >> to help >> pave the way to the Next Web now. Learn more and register at >> http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/_______________________________________________ >> Beanshell-developers mailing list >> Beanshell-developers-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org >> https://lists.sourceforge.net/lists/listinfo/beanshell-developers > > > -- > Paul Landes > [email protected] ------------------------------------------------------------------------------ SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada. The future of the web can't happen without you. Join us at MIX09 to help pave the way to the Next Web now. Learn more and register at http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/