James has posted 2 posts at DZone. View Full User Profile

Beyond Annotations: A Proposal for Extensible Java (XJ)

04.15.2008
| 3410 views |
  • submit to reddit

At Ceteva, we have put together a document which outlines a proposal for adding mechanisms to the Java language which allows it to be arbitrarily extended.

These mechanisms would support Language Oriented Programming (LOP) and Domain Specific Languages (DSLs). The proposal is based on some work we have been doing with XMF, an open source industrial strength language, and all the technology required to implement this mechanism in Java has been validated within XMF.

We are interested in receiving feedback on this proposal and any thoughts are most welcome. You can download the proposal document called "Beyond Annotations: A Proposal for Extensible Java (XJ)" from:

http://www.ceteva.com/book.html

More details of XMF can be found on the same site.

AttachmentSize
xj.png52.17 KB
0
Average: 1 (1 vote)
Published at DZone with permission of its author, James Willans.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Dmitriy Setrakyan replied on Tue, 2008/04/15 - 7:24pm

I am kind of on the fence about it. On one side, it can be useful to produce refactor-safe extentions for Java, such as for SQL and XML. On another side, I am dreadful of seeing projects that create their custom languages just to save a single line of code in some for loop.

This feature is very close in principle to C++ operator overloading, which, if I could, I would simply ban. In my view operataor overloading did more harm than good and up to this day is responsible for a lot of unreadable code.

I guess, if I had to vote, I would rather have Java introduce some new syntax for SQL, or XML to accomodate quieries, parsing, etc... rather than enable the whole world to mess it up.

Just my 2 cents,
GridGain - Grid Computing Made Simple

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.