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