November 03, 2009
Ary Borenszweig Wrote:

> So... what should I do?

Good question.  The truth is that a lot of new D converts will probably be coming from Java and Eclipse is the path of least resistance.  I'm done with Java and I don't really want to go back to C++ or C (or even ASM for that matter).  However, I don't have the patience to write a "trial program" in notepad.  If it wasn't for descent, I would have given up on D.

So, I guess this says two things.  First, thank you.  Second, I think what you're doing is very important to the eventual success of an excellent language.  It may be grueling work, but it has made a difference--as least from my perspective.

Now, what to do?  I think it's ok to skip releases.  I also think it's ok to leave things broken for 2.X.  I've hit a few so far and I accept them as a hazard of being on the leading edge.  I just gave the Change Log a scan and my gut says a new update every six months would be enough to keep us pioneers in the game.

However, ultimately, if it's still too much and you need to give it up, all I have to say is this--thank you.

May 05, 2010
I just played with dmd 2.045 and Descent yesterday for the first time. Yes Descent is a bit buggy (couldn't get builds or context-assist working), but I still stuck with it because I'm familiar with Eclipse and none of the other D editors looked that mature either (or weren't available for Linux).

As someone mentioned, it's much easier for people to learn a new language if they don't have to learn a new IDE at the same time. Eclipse is a pretty solid platform to build on and a lot of people are familiar with it. If D expects to be a popular programming language an Eclipse plugin is almost a necessity.

True, not many people use Descent now, but if/when D becomes popular a lot of people will want a good Eclipse plugin, and you'll want to be ready for them, which means having Descent ready when D2 is.

I'm surprised that the language updates can't be automated, but I'm not familiar with how Eclipse does language syntax under the hood.

If the task is really that menial maybe it could be automatically divided up and farmed out to volunteers?

Could you add a page to your wiki describing the problem you're having keeping up with the language and some examples of how a D language change translates to a Descent change. Also, show why it's hard to automate. Then post a link here and maybe some people can look at the problem and give you ideas on how to automate it or divide up the task.

I would be willing help you out if you can describe what I need to do and where the code is. I downloaded the descent.core source, but there's a lot in there and I'm not even sure where the D language stuff is.


-Arlo
May 06, 2010
On 5/5/10 21:29, Arlo White wrote:
> I just played with dmd 2.045 and Descent yesterday for the first time.
> Yes Descent is a bit buggy (couldn't get builds or context-assist
> working), but I still stuck with it because I'm familiar with Eclipse
> and none of the other D editors looked that mature either (or weren't
> available for Linux).

You can build a project (with external tools). Context-assist should work.

> As someone mentioned, it's much easier for people to learn a new
> language if they don't have to learn a new IDE at the same time. Eclipse
> is a pretty solid platform to build on and a lot of people are familiar
> with it. If D expects to be a popular programming language an Eclipse
> plugin is almost a necessity.
>
> True, not many people use Descent now, but if/when D becomes popular a
> lot of people will want a good Eclipse plugin, and you'll want to be
> ready for them, which means having Descent ready when D2 is.
>
> I'm surprised that the language updates can't be automated, but I'm not
> familiar with how Eclipse does language syntax under the hood.

For Java Eclipse uses the built in incremental java compiler as far as I know. For D the DMD frontend is translated into Java and somewhat modified, adding caches and similar, the DMD frontend is not made for this kind of things. Then the frontend also needs to integrated with the existing Eclipse APIs

> If the task is really that menial maybe it could be automatically
> divided up and farmed out to volunteers?
>
> Could you add a page to your wiki describing the problem you're having
> keeping up with the language and some examples of how a D language
> change translates to a Descent change. Also, show why it's hard to
> automate. Then post a link here and maybe some people can look at the
> problem and give you ideas on how to automate it or divide up the task.

I've answer most of this in the above answer, you can also look at: http://www.dsource.org/projects/descent/wiki/Development

> I would be willing help you out if you can describe what I need to do
> and where the code is. I downloaded the descent.core source, but there's
> a lot in there and I'm not even sure where the D language stuff is.
>
>
> -Arlo

May 06, 2010
Jacob Carlborg wrote:
> On 5/5/10 21:29, Arlo White wrote:
>> I just played with dmd 2.045 and Descent yesterday for the first time.
>> Yes Descent is a bit buggy (couldn't get builds or context-assist
>> working), but I still stuck with it because I'm familiar with Eclipse
>> and none of the other D editors looked that mature either (or weren't
>> available for Linux).
> 
> You can build a project (with external tools). Context-assist should work.

Not sure it works with dmd 2.025, though.

> 
>> As someone mentioned, it's much easier for people to learn a new
>> language if they don't have to learn a new IDE at the same time. Eclipse
>> is a pretty solid platform to build on and a lot of people are familiar
>> with it. If D expects to be a popular programming language an Eclipse
>> plugin is almost a necessity.
>>
>> True, not many people use Descent now, but if/when D becomes popular a
>> lot of people will want a good Eclipse plugin, and you'll want to be
>> ready for them, which means having Descent ready when D2 is.
>>
>> I'm surprised that the language updates can't be automated, but I'm not
>> familiar with how Eclipse does language syntax under the hood.
> 
> For Java Eclipse uses the built in incremental java compiler as far as I know. For D the DMD frontend is translated into Java and somewhat modified, adding caches and similar, the DMD frontend is not made for this kind of things. Then the frontend also needs to integrated with the existing Eclipse APIs

Yes, exactly. The tasks when a new D version comes out are:
 - Update the lexer/parser and basically port the diff between the version to Java and Descent.
 - Update the public AST (read below...)
 - Check which small features the IDE can provide with these new features. For example if there's a new keyword, autocompletion of it must be checked. Another example: when alias this was introduced autocompleteion offered completions of the aliased symbol.

That's basically it. The problem is, the last ported version is like 2.030

http://www.dsource.org/projects/descent/browser/trunk/descent.core/src/descent/internal/compiler/parser/port.txt

And diffs between each version are huge, it takes a lot of time to do it. Frank Benoit started working on a tool to more or less automate this process, but I don't knnow what happened with that.

But the real problem is that I don't want to do it. I don't want to spend time on it. I'm a little tired of it.

Maybe another problem is that Descent want to do a lot of things, but it's very hard to do it (specially if not many people are working on the project)

> 
>> If the task is really that menial maybe it could be automatically
>> divided up and farmed out to volunteers?

Yes, the diff can be splitted into several people.

>>
>> Could you add a page to your wiki describing the problem you're having
>> keeping up with the language and some examples of how a D language
>> change translates to a Descent change. Also, show why it's hard to
>> automate. Then post a link here and maybe some people can look at the
>> problem and give you ideas on how to automate it or divide up the task.
> 
> I've answer most of this in the above answer, you can also look at: http://www.dsource.org/projects/descent/wiki/Development

That page is a little outdated, but most of what it says is correct. The implementation details defer (for example there's no IModule, that was a first approach).

> 
>> I would be willing help you out if you can describe what I need to do
>> and where the code is. I downloaded the descent.core source, but there's
>> a lot in there and I'm not even sure where the D language stuff is.

The port is here:

http://www.dsource.org/projects/descent/browser/trunk/descent.core/src/descent/internal/compiler/parser/

This is the public AST (different from the port in that it contains more useful information for the IDE, and in a homogeneous way):

http://www.dsource.org/projects/descent/browser/trunk/descent.core/src/descent/core/dom

Thanks for wanting to help! I can give info on how to modify the project and make it grow, coding a little, but I'm not sure I will spend lots of time on it from now on.
May 06, 2010
On 5/6/10 17:10, Ary Borenszweig wrote:
> Jacob Carlborg wrote:
>> On 5/5/10 21:29, Arlo White wrote:
>>> I just played with dmd 2.045 and Descent yesterday for the first time.
>>> Yes Descent is a bit buggy (couldn't get builds or context-assist
>>> working), but I still stuck with it because I'm familiar with Eclipse
>>> and none of the other D editors looked that mature either (or weren't
>>> available for Linux).
>>
>> You can build a project (with external tools). Context-assist should
>> work.
>
> Not sure it works with dmd 2.025, though.
>
>>
>>> As someone mentioned, it's much easier for people to learn a new
>>> language if they don't have to learn a new IDE at the same time. Eclipse
>>> is a pretty solid platform to build on and a lot of people are familiar
>>> with it. If D expects to be a popular programming language an Eclipse
>>> plugin is almost a necessity.
>>>
>>> True, not many people use Descent now, but if/when D becomes popular a
>>> lot of people will want a good Eclipse plugin, and you'll want to be
>>> ready for them, which means having Descent ready when D2 is.
>>>
>>> I'm surprised that the language updates can't be automated, but I'm not
>>> familiar with how Eclipse does language syntax under the hood.
>>
>> For Java Eclipse uses the built in incremental java compiler as far as
>> I know. For D the DMD frontend is translated into Java and somewhat
>> modified, adding caches and similar, the DMD frontend is not made for
>> this kind of things. Then the frontend also needs to integrated with
>> the existing Eclipse APIs
>
> Yes, exactly. The tasks when a new D version comes out are:
> - Update the lexer/parser and basically port the diff between the
> version to Java and Descent.
> - Update the public AST (read below...)
> - Check which small features the IDE can provide with these new
> features. For example if there's a new keyword, autocompletion of it
> must be checked. Another example: when alias this was introduced
> autocompleteion offered completions of the aliased symbol.
>
> That's basically it. The problem is, the last ported version is like 2.030
>
> http://www.dsource.org/projects/descent/browser/trunk/descent.core/src/descent/internal/compiler/parser/port.txt
>
>
> And diffs between each version are huge, it takes a lot of time to do
> it. Frank Benoit started working on a tool to more or less automate this
> process, but I don't knnow what happened with that.

If you refer to Tiport then it has been abandoned. It was developed to port SWT to D but eventually it turned out that you basically need to port almost the whole Java API.

> But the real problem is that I don't want to do it. I don't want to
> spend time on it. I'm a little tired of it.

That is too bad. I really like descent, using it almost every day.

> Maybe another problem is that Descent want to do a lot of things, but
> it's very hard to do it (specially if not many people are working on the
> project)
>
>>
>>> If the task is really that menial maybe it could be automatically
>>> divided up and farmed out to volunteers?
>
> Yes, the diff can be splitted into several people.
>
>>>
>>> Could you add a page to your wiki describing the problem you're having
>>> keeping up with the language and some examples of how a D language
>>> change translates to a Descent change. Also, show why it's hard to
>>> automate. Then post a link here and maybe some people can look at the
>>> problem and give you ideas on how to automate it or divide up the task.
>>
>> I've answer most of this in the above answer, you can also look at:
>> http://www.dsource.org/projects/descent/wiki/Development
>
> That page is a little outdated, but most of what it says is correct. The
> implementation details defer (for example there's no IModule, that was a
> first approach).
>
>>
>>> I would be willing help you out if you can describe what I need to do
>>> and where the code is. I downloaded the descent.core source, but there's
>>> a lot in there and I'm not even sure where the D language stuff is.
>
> The port is here:
>
> http://www.dsource.org/projects/descent/browser/trunk/descent.core/src/descent/internal/compiler/parser/
>
>
> This is the public AST (different from the port in that it contains more
> useful information for the IDE, and in a homogeneous way):
>
> http://www.dsource.org/projects/descent/browser/trunk/descent.core/src/descent/core/dom
>
>
> Thanks for wanting to help! I can give info on how to modify the project
> and make it grow, coding a little, but I'm not sure I will spend lots of
> time on it from now on.

1 2
Next ›   Last »