Saturday 31 July 2010

D.dev progress: July 2010

Here we are, it’s almost time to make the beta version available to all, but not quite yet. There are too many glitches and bugs and essential features missing. I did however, manage to make the autocompletion work, and it’s about 50% done. I also found out how to make D.dev feature a dual user interface, check out how in the last few seconds of the preview video ;)

D.dev preview video from D.Dev IDE on Vimeo.

Play full-screen in order to have a better view of the text. As always, feedback in the comments section will be very appreciated. :)

Tuesday 13 July 2010

Controversy regarding memory management in D

D 2 is subject to constant redesign and improvement. Or is it? It appears that D is becoming, like C++, a language designed by comitee. With a big difference: at least when C++ is changed, both the relevance of the changes and the impact on the language features are carefully considered.

So, what is happening to D? Well, somebody thought to themselves “This delete keyword is a source of a multitude of errors” and from there decided that it should be banned! Not without a replacement of course. There is a proposal for new functions that would effectively replace the delete keyword. One of them is clear(object), which would destroy the object, copy onto it the initial value Object.init, and construct it again. It sounds more like a reset(object) to me… Another one is a function that does nothing other than destroy the object, which is what delete already does. It seems that the idea is to encourage people to always use the garbage collector and disencourage people from managing the memory manually…

There already is a language with such a logic, it’s called Java. I refuse to allow the prejudices of a minority to turn the powerful and flexible systems language that is D into a mere Java copycat. Naturally, we must find a middleground, and so far, the best counter-proposal is to keep the delete keyword, but forbid it in the SafeD subset. It sounds like the most logical alternative to me.

What do you think? Leave your vote in the poll.

Sunday 11 July 2010

Roadmap, features before 1.0

Here is a summarized roadmap for D.dev. During early beta, all releases will be under Windows only.

  1. Late July/Early August 2010 - First Beta release of D.dev 0.1.
    • Editor, featuring: syntax-highlighting; auto-completion with a few extensions specific for D; standard text search; and bookmarks (with comments).
    • Project management.
    • Compiler support for DMD 2.0. Depending on the author, possibility of bundling it together with D.dev binaries.
    • Bug fix releases to follow up when necessary.
  2. Autumn 2010 – Beta update
    • Begin porting for Linux (internal testing will be done on Ubuntu).
    • Support for GDB 7.1, to be bundled with D.dev from that point forth.
    • Bug fix releases to follow up when necessary.
  3. 2011 – 1.0
    • Begin tests for Git GUI interface and its integration with project management.