On 10/16/09 19:18, Lutger wrote:
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.

As I said later in the message, that it would be the optimal and everything doesn't have to be built in D. Like D Clang is quite new and it doesn't need to be built like Clang just to attract the enterprise but I think it would be easier to build an IDE if the compiler was built more like Clang. BTW Clang is shipped with the Developer Tools on Mac.

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.

GtkD doesn't use native controls, DFL is only for windows (last I checked).

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?

Reply via email to