Thread: [Freemind-developer] Script plugins in Freemind
A premier mind-mapping software written in Java
Brought to you by:
christianfoltin,
danielpolansky
From: Peter T. <fm-...@to...> - 2003-06-26 20:08:21
|
Hello freeminds :-) I have now been playing around with large parts of the source code to figure out how the flow is internal (but there are still parts I have not been around.) The reason for doing so is that I would like to have a full scripting engine embedded into Freemind. I'm doing a lot of different things in Freemind and would like to add features without having to recompile the entire source code (not that it matter for me though!) Others might not have the insight in Freemind and Java to add features, but hooking a scripting engine into might just make the day. Just did a quick scan and found the following external language interpreters: - Jython?: http://www.jython.org - JRuby?: http://jruby.sourceforge.net/ - Rhino?: http://www.mozilla.org/rhino/ - Jacl?: http://jacl.sourceforge.net/ - BeanShell?: http://www.beanshell.org - Skij? (Scheme): http://www.alphaworks.ibm.com/tech/Skij/ Do this idea sound complete out of bounds or is it worth pursuing? Anyone having any experience with any of the above mentioned Interpreters or done what I'm suggesting already? -- Peter |
From: Charles D. <cd...@sp...> - 2003-06-26 20:45:18
|
On Thu, 2003-06-26 at 15:05, Peter Torngaard wrote: > Do this idea sound complete out of bounds or is it worth pursuing? > Anyone having any experience with any of the above mentioned > Interpreters or done what I'm suggesting already? My vote is strongly with either Jython or a Scheme variant -- and given that you want to appeal to a wider programmer base than that reached by the Schemes (sadly), Jython is probably your best bet; more people know Python than most of the others listed, and its interface between Python and Java code is really quite seamless. |
From: <dan...@se...> - 2003-06-27 16:18:02
|
Hi Peter and others, in my view, the script engine is definitely worth pursuing. I have no experience with these different scripting engines. Is there any evaluation available? Is there any comparison article on the web comparing Java and Python as programming languages? What seems to speak for Python is that it claims to be intended for general public. What seems to speak for Java is that it is probably one of the standards of the future, and that I like it :). But, although my opinion was here tentatively given, it is basically void. Best regards, Daniel > Just did a quick scan and found the following external language > interpreters: > > - Jython?: http://www.jython.org > - JRuby?: http://jruby.sourceforge.net/ > - Rhino?: http://www.mozilla.org/rhino/ > - Jacl?: http://jacl.sourceforge.net/ > - BeanShell?: http://www.beanshell.org > - Skij? (Scheme): http://www.alphaworks.ibm.com/tech/Skij/ ______________________________________________________________________ Reklama: Nov=FD Contactel Bonus Club - v=FDhodn=FD dial-up se v=B9=EDm v=B9udy = http://ad2.seznam.cz/redir.cgi?instance=3D55050%26url=3Dhttp://club.raz= dva.cz/ |
From: Charles D. <cd...@sp...> - 2003-06-27 16:55:24
|
On Fri, 2003-06-27 at 11:15, Dan Polansky wrote: > What seems to speak for Python is that it claims to be > intended for general public. What seems to speak for > Java is that it is probably one of the standards of the > future, and that I like it :). A comment here: Jython compiles Python code into Java bytecode, permits use of Java runtime library classes, and can be used to create objects which can be used in Java code. If you consider Java-the-bytecode the standard you speak of, therefore, Jython is quite compliant. Personally, I think this -- having multiple languages compiling to a single portable bytecode -- is a Very Good Thing; Python, for instance, is far more suitable for rapid application development than Java, whereas Java is more suitable for very large, multi-programmer projects. Being able to interoperate provides the best of both worlds -- allows, for instance, a quick script to be developed in no time flat that interacts with the persistance layer of a large, multi-programmer project. Similarly, for permitting an easy way for folks who aren't familiar with Freemind's internals, a mechanism for extensions via Jython would be useful. ...but wait! Because Jython uses standard Java objects and interfaces, and its objects appear as standard Java objects, a mechanism written to support extensions in Java could be used by folks doing Jython extensions as well! (ideally with a touch of glue code and some forethought during design to make the interfaces more conformant with The Python Way). So we can have it both ways -- easier extensibility via Jython *and* Java. Eh? |
From: Peter T. <fm-...@to...> - 2003-06-27 19:19:34
|
On Fri, 2003-06-27 at 18:36, Charles Duffy wrote: > On Fri, 2003-06-27 at 11:15, Dan Polansky wrote: > > What seems to speak for Python is that it claims to be > > intended for general public. What seems to speak for > > Java is that it is probably one of the standards of the > > future, and that I like it :). > > A comment here: Jython compiles Python code into Java bytecode, permits > use of Java runtime library classes, and can be used to create objects > which can be used in Java code. > > If you consider Java-the-bytecode the standard you speak of, therefore, > Jython is quite compliant. Personally, I think this -- having multiple > languages compiling to a single portable bytecode -- is a Very Good > Thing; Python, for instance, is far more suitable for rapid application > development than Java, whereas Java is more suitable for very large, > multi-programmer projects. Being able to interoperate provides the best > of both worlds -- allows, for instance, a quick script to be developed > in no time flat that interacts with the persistance layer of a large, > multi-programmer project. There is a framework that makes it possible to embed several different scripting tools. BSF http://www-124.ibm.com/developerworks/projects/bsf it's a IBM Alphaworks so I don't know about licenses, have not had time to look at it. But using the BSF makes it possible to support different scripting systems. As long as they comply to the BSF interfaces. More information can be found at the mentioned web page. > > Similarly, for permitting an easy way for folks who aren't familiar with > Freemind's internals, a mechanism for extensions via Jython would be > useful. > There are alternatives to Jython as one BeanShell (http://www.beanshell.org/) that is a the author puts it 'Lightweight Scripting for Java' that supports BSF. > ...but wait! Because Jython uses standard Java objects and interfaces, > and its objects appear as standard Java objects, a mechanism written to > support extensions in Java could be used by folks doing Jython > extensions as well! (ideally with a touch of glue code and some > forethought during design to make the interfaces more conformant with > The Python Way). So we can have it both ways -- easier extensibility via > Jython *and* Java. > Yes this could be the long term plan, as we need to get the interfaces to the nodes and the entire node model in place before we can start to communicate outside the core of Freemind. Dan and Joerg do you have any good suggestions about where to start? Would be nice if someone would participate in working out a preliminary interface description to the node model that would enable us to test run the different interpreters and have a better look at the features. ... I'm starting to wonder how many private 0.6 source trees are out there? With high local customizations, that cannot be synced easily. I know that I have one heavy modified one. But this is most for study of the flexibility of integration of interpreters or use of native classes loaded on demand. / Peter |