Namek Dev
a developer's log
NamekDev

DCIDE

DCIDE is an acronym for D Compiler IDE. It was made to simplify starting with the D language which I highly appreciate and recommend to work with. It’s not a full-fledged IDE for the language. Instead it’s just the IDE for a compiler, for those who don’t like to work with command line.

Package

Application was written in C#. Inside the package you can find:

  • DMD 1.0 and 2.0 compilers (see Intro to D)
  • Derelict libraries (which includes SDL, OpenGL, FreeType and more)
  • optional Tango library
  • DCode from Christopher E. Miller
  • small program which connects that all and is called DCIDE

Project isn’t maintained since 2010.

Screenshots

Features

DCIDE allows you to manage some D project(s): manage its files, compile using one button and run it. Also it helps you to create any type of project with a quick one-page wizard.

Raison d’être

Aim of the project was to fasten creating, managing and compiling D projects. It contains some libraries, which are often used, too. Also **DCIDE **is very helpful for beginners or just those who don’t want to compile things using a console.

Download

Download DCIDE Package Now!

There’s no installation. Just unpack whole file and launch the DCIDE.exe.

Development experience

Project was made with .NET 3.0 Windows Forms. I learned how to deal with .NET windows, WinForms controls, XML (without LINQ or XDocument class then), managing files and configurations (both XML and .NET built-in Properties mechanism).

The hardest part of programming was to make maintaining other windows (besides DCIDE’s) like instances of DCode editor (look: 4th screen above) because I had to import kernel DLLs. The other challenge was evaluating commands to compiler by calling “cmd” (Command Line) process.

But the worst part of creating the package was to maintain constantly changing D compilers and its parameters lists. It was also little hard to modify Phobos and Tango libraries to be working with specific D compilers and other libraries (like SDL, OpenGL).