A macro editor

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • jau

    #1

    A macro editor

    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
  • Diez B. Roggisch

    #2
    Re: A macro editor

    > My teammates and I were talking about to use one of Python, Ruby or[color=blue]
    > 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.[/color]

    There seems to exist a Ruby java port, conveniently called jruby.
    Additionally, you might consider beanshell.
    [color=blue]
    >
    > 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?[/color]

    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.applikatio n
    app.<here comes a calltip>


    However, if the user does fancy tricks like this:

    setattr(self, "app", core.applicatio n)
    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

    Comment

    • Tom Anderson

      #3
      Re: A macro editor

      On Thu, 20 Oct 2005, Diez B. Roggisch wrote:
      [color=blue]
      > So - _I_ think the better user-experience comes froma well-working easy
      > to use REPL to quickly give the scripts a try.[/color]

      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

      --
      NOW ALL ASS-KICKING UNTIL THE END

      Comment

      • bruno modulix

        #4
        Re: A macro editor

        Tom Anderson wrote:[color=blue]
        > On Thu, 20 Oct 2005, Diez B. Roggisch wrote:
        >[color=green]
        >> So - _I_ think the better user-experience comes froma well-working
        >> easy to use REPL to quickly give the scripts a try.[/color]
        >
        >
        > 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.[/color]

        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...)

        --
        bruno desthuilliers
        python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
        p in 'onurb@xiludom. gro'.split('@')])"

        Comment

        • Fabio Zadrozny

          #5
          Re: A macro editor

          Hi Jaume,

          Pydev (http://pydev.sf.net) is an eclipse plugin that does
          code-completion for jython, so, it might be worth taking a look at it...

          Cheers,

          Fabio


          jau wrote:
          [color=blue]
          >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
          >
          >[/color]


          Comment

          Working...