dmd support for IDEs and the D tool chain

Lutger lutger.blijdestijn at gmail.com
Fri Oct 16 10:18:58 PDT 2009


Jacob Carlborg wrote:

> Here is my thoughts and what I think is needed to build a really good
> IDE and maybe get some attention from the enterprise. It's really not
> enough for the compiler to output some json for an IDE to use, the whole
> tool chain needs to be revised.

I think this list is what the toolchain might look like after it already has 
gotten some attention, not a requirement of what is needed. 

This is a cut-down list with some comments:
 
> Compiler:
>   * Supports all major platform
>   * 32 and 64bit support
>   * Doesn't have annoying bugs like forward reference errors and problem
>     with the linker
>   * Can build dynamic libraries
>   * Supports incremental builds

Clearly many programming languages manage without a compiler written in 
their native language and I doubt clang is even used in enterprise context. 

> Compiler or separate tool:
>   * Automatically tracks all dependencies and builds the
>     application/library (like DSSS)

We got this, dsss just has to be revived by someone.

> GUI library:
>   * Supports all major platforms (mac, linux, win)
>   * Uses native controls (as much as possible) to draw its controls
>   * Supports (de)serializing controls (Glade, nib)

Not sure it needs to be written in D. Many languages use bindings and 
wrappers just fine. We already have QtD, DWT, wxWindows, DFL and GtkD. One 
of those is a port (DWT) and one is native D (DFL). The GUI situation has 
been so rapidly improved, it's not an impediment anymore imho.
 
> IDE:
>   * Be able to show syntax and semantic errors as you type
>   * Autocompletion
>   * Refactoring
>   * Building
>   * Supports incremental builds
>   * Basically something like Eclipse JDT

Descent is probably the closest, in some aspects it even destroys C++ IDE's 
(compile time stuff) already. However one or two more IDE's or very good 
editors would likely help.

This would be my shortlist:
- a polished descent which supports D2
- dmd switch to ELF on windows and support for 64-bit there
- dsss redux
- gdc for embedded, also some more support from phobos for systems 
programming?



More information about the Digitalmars-d mailing list