Dscanner - DCD - Dfix ... Editor support or the lack of it.

Basile B. b2.temp at gmx.com
Thu Jan 25 19:53:39 UTC 2018


On Thursday, 25 January 2018 at 15:20:15 UTC, Benny wrote:
> After months doing a different project, i need a programming 
> language for a new client with specific needs. D comes to mind. 
> As usual that involves downloading the compiler (dmd and ldc).
>
> [...]
>
> My personal opinion: Too much in the D landscape is so 
> individualist and not properly cross platform tested, that it 
> results in pure frustration for the end developer.

If you write OOP with few templates like often done in C#, 
Delphi, or more declarative style like Go or C, then DCD works 
fine. Your frustration probably comes from the fact that popular 
techniques in D are not supported by DCD: Template 
Metaprogramming and CTFE. They are not well supported because 
they "just" require to have a compiler built in the completion 
engine. You can also add "auto everywhere" to the problems 
(plenty of std.algorithm, std.typecons, std.range are not 
supported at all)

This problem won't be fixed (ever: i'm honnest since i work a bit 
on dparse dcd etc. i didn't see the "big" thing coming) so the 
best advice i can give you is "do not to use the things that are 
not supported by DCD in the public API". Use them for private 
internal details. And avoid "auto".

Now, let's talk about the bugs. The important things in DCD are 
done by a library called D-Symbol. This library needs more love. 
https://github.com/dlang-community/dsymbol/pulls. There are 5 
valid bug fixes opened since the end of the summer and that 
haven't been handled. A movement had started in July / August but 
apparently has stopped in September for some reasons.

I don't think that complaining about specific editor plugins will 
help. People who write these plugins have adapted DCD to their 
product but they cant just sit and wait that the completion gets 
better. At some point if you work on a IDE you have deal with 
certain low level language stuff. It's not just about piping 
process.
(Note: this paragraph is addressed to editor plugins and IDE 
writers).


More information about the Digitalmars-d mailing list