A macro editor

J

jau

Hello mates.

I'm part of a big project's developer team. We are writting an
application in Java and we are planning to add scripting functionality
to it. What we exactly are planning is to give a kind of tool that would
allow our users to write their own scripts to perform their special
operations. Something like VBA does in several comercial applications.
But, as we are GPL we have to use a close to GPL licensed-like language.

My teammates and I were talking about to use one of Python, Ruby or
Groovy. But, we haven't decided which to use.

What seems to be easier is to use Python, you know.. because of the
Jython thing. But, it is probably a mistake to take Jython without a
extensive analysis of the all possibilities.

From my point of view, the best choice will be those that allow the
average user getting results as fast as possible rather than the power
of the language itself. At the end, what we will write is a gateway to
access to our application's Java API through the scripts written by our
users.

In this sense, I'd like to ask if someone knows if any of these
languages have a Java implementation that supports code auto-complete
and class navigation or any kind of functionality that would ease and
speed up the user's learning curve and productivity.

In other words, is it possible to have a small and lightly intelligent
workbench window (a mini-Eclipse for example) for our future "macro
editor" within our application?

I promise that if get some info I'll publish it here as soon I have it.

Thanks for your time!
Jaume
 
D

Diez B. Roggisch

My teammates and I were talking about to use one of Python, Ruby or
Groovy. But, we haven't decided which to use.

What seems to be easier is to use Python, you know.. because of the
Jython thing. But, it is probably a mistake to take Jython without a
extensive analysis of the all possibilities.

There seems to exist a Ruby java port, conveniently called jruby.
Additionally, you might consider beanshell.
From my point of view, the best choice will be those that allow the
average user getting results as fast as possible rather than the power
of the language itself. At the end, what we will write is a gateway to
access to our application's Java API through the scripts written by our
users.

In this sense, I'd like to ask if someone knows if any of these
languages have a Java implementation that supports code auto-complete
and class navigation or any kind of functionality that would ease and
speed up the user's learning curve and productivity.

In other words, is it possible to have a small and lightly intelligent
workbench window (a mini-Eclipse for example) for our future "macro
editor" within our application?

I doubt that will be possible. A language that has no type-declarations
- that is true for ruby & python (regardless of their respective VM
implementations) - can't possibly deliver that feature. And it looks as
if the same is true for groovy.

The only thing I can imagine is that you try and recognize the
"gateways" to your API-model and provide calltips for names that are
bound to values from that model.

E.g. if you have a module called "core" that contains an
application-object that represents your application, you could try and
identify code like this:

app = core.applikation
app.<here comes a calltip>


However, if the user does fancy tricks like this:

setattr(self, "app", core.application)
self.app.<here you don't know s**t>

So - _I_ think the better user-experience comes froma well-working easy
to use REPL to quickly give the scripts a try.

Regards,

Diez
 
T

Tom Anderson

So - _I_ think the better user-experience comes froma well-working easy
to use REPL to quickly give the scripts a try.

I'd agree with that. Which is better, a difficult language with lots of
fancy tools to help you write it, or an easy language?

I don't know Groovy, but having looked at some examples, it looks like
jave with a makeover, which, compared to python, sounds like a difficult
language.

As for python vs ruby, i can't really offer any insights on the languages
themselves. Personally, i'd go for python, but that's because i know
python and not ruby.

tom
 
B

bruno modulix

Tom said:
I'd agree with that. Which is better, a difficult language with lots of
fancy tools to help you write it, or an easy language?

I don't know Groovy, but having looked at some examples, it looks like
jave with a makeover, which, compared to python, sounds like a difficult
language.

As for python vs ruby, i can't really offer any insights on the
languages themselves. Personally, i'd go for python, but that's because
i know python and not ruby.

I know a bit of Ruby, and my *very humble* opinion is that Python is
easier for beginners - *but* I'm probably (certainly) biased here, so
you'd better find some non-programmers having learn Ruby in a similar
context and ask them about this (with the buzzword around Rails, you
find such people easily...)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,269
Messages
2,571,338
Members
48,025
Latest member
Rigor4

Latest Threads

Top