dmd support for IDEs and the D tool chain

Jacob Carlborg doob at me.com
Fri Oct 16 05:52:21 PDT 2009


On 10/16/09 12:58, Tomas Lindquist Olsen wrote:
> On Fri, Oct 16, 2009 at 12:06 PM, Jacob Carlborg<doob at me.com>  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.
>>
>> Compiler:
>>   * Written in D
>>   * Supports all major platform
>>   * 32 and 64bit support
>>   * Doesn't have annoying bugs like forward reference errors and problem
>>    with the linker
>>   * Built with and IDE in mind
>>   * Can be built as a (dynamic)library
>>   * Can build dynamic libraries
>>   * Supports incremental builds
>>   * Has clearly separate components, especially the front- and back-end.
>>   * Has a license that allows it to be built into an IDE and/or shipped
>>    with an IDE
>>   * Basically something like LLVM + Clang
>>
>> Compiler or separate tool:
>>   * Automatically tracks all dependencies and builds the
>>    application/library (like DSSS)
>>
>> GUI library:
>>   * Written in D
>>   * Supports all major platforms (mac, linux, win)
>>   * Uses native controls (as much as possible) to draw its controls
>>   * Supports (de)serializing controls (Glade, nib)
>>
>> IDE:
>>   * Written in D
>>   * Be able to show syntax and semantic errors as you type
>>   * Autocompletion
>>   * Refactoring
>>   * Building
>>   * Supports incremental builds
>>   * Basically something like Eclipse JDT
>>
>> GUI builder:
>>   * Supports (de)serializing controls (Glade, nib)
>>   * Basically something like Interface Builder, Glade
>>
>>
>> All of the above would be the most optimal. For example, everything don't
>> have to be built in D but for building an IDE in D I think that it would be
>> easier.
>>
>> What we have now and what I think is the closest match:
>>
>> Compiler: LDC
>>   * Missing most of the mentioned things
>>   * Needs better platform support
>>   * At least the back-end is built like this
>>
>> We have DSSS and xfbuilder (or what it's called)
>>
>> GUI library: DWT
>>   * There are some bugs in the mac version
>>   * Doesn't support (de)serializing controls
>>   * Not built in a D-way
>>   * Maybe too heavy
>>
>> IDE: Descent
>>   * Missing some features like refactoring
>>   * Only supports building using an external tool
>>   * Needs to improve the syntax and semantic errors
>>   * Needs to improve the performance if possible
>>
>> GUI builder: Interface Builder, Entice Designer, Glade, whatever Qt uses
>>   * To my knowledge none of the above supports a GUI library like the
>>    one mentioned
>>
>>
>> Any comments, thoughts?
>>
>> /Jacob Carlborg
>>
>>
>
> GtkD supports Glade.

Yes, but GtkD doesn't use native controls.



More information about the Digitalmars-d mailing list