User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041217
Hi Everyone,
First, I'm not an Eclipse committer and I'm NOT speaking as a
representative of IBM. These are just the opinions of one guy who would
like to see Eclipse become a better platform for hosting the multitude
of languages out there in the software ecosystem.
Both at EclipseCon 2004 and again in 2005 I saw lots of interest in
bringing new languages into Eclipse and sharing more common tools and
infrastructure between the implementations. In between the two
EclipseCons there was some progress made (such as the "ltk" refactoring
stuff that was pulled out of jdt), but what was really lacking was a
virtual gathering place for the community of language developers and
integrators so evident at the EclipseCon sessions.
I think it's critical that we have a common forum for language
developers to discuss the issues. The Platform project is not the right
forum and neither are JDT, CDT or the other specific language projects.
So in my opinion having an "LDT" project and having the
newsgroup/mailing-list/web-space that comes with it is the first step in
the right direction.
I also think it will help to have someone step up and lead a little.
There are so many great ideas and so many strong opinions. :-) Without
some leadership, things could deadlock and that won't help anybody. I
think that BEA, with their proven multi-language IDE experience will be
a good leader for the project. But I would urge BEA to make sure they
understand what's in Eclipse today before tossing in a lot of new code.
For instance, when Tim Wagner was discussing the Javelin approach to
multiple languages in a single source file, I was having flashbacks to
IDocumentPartitioner and its friends in org.eclipse.text. In general I
think the goal should be to understand where the current system falls
short, but use it where it works and work to fix/improve it where it
only partially works.
If I could influence the LDT charter in any way, I'd like to see the
following taken into consideration:
- The proposal says "initial project focus is on the Java family of
languages". I would say if BEA wants to focus on *implementations* for
Java-like languages, fine, but please make foundation elements for
arbitrary languages (such as the common Token and AST stuff that Tim
talked about) an initial focus as well and use those foundational
elements in implementing the Java language hybrids. Let the rest of us
use the same foundational elements for our own language integrations and
we will give feedback on how well they are working.
- I want to echo what Chris Laffra said in the "Focus on DSLs" post with
a slightly different spin: Why not write into the LDT mandate a
mechanism for language implementors to start sub-sub-projects? So if
I'm working on a Lisp integration I could inform LDT and get a slice of
webspace to describe what I'm doing and put URLs and contact info. I
also might start a dynamic languages sub-sub-project and link to the
Lisp one. I see these sub-sub-projects having a wiki-like
organizational structure and possibly evolving into a catalog of many
known language implementations and language classification schemes.
What will differentiate this catalog from other net-based language
catalogs is each node will reference download sites or CVS areas with
relevant code that runs on Eclipse.
I'll conclude by saying I'm extremely excited to see the LDT project
move forward and I hope I can contribute in some way to the goal of
making Eclipse a better platform for hosting new language integrations.