I’ve long wanted to ditch Crimson Editor for something more robust when programming D, but I’m very picky. Having used CE for so long, and not just for D, I was settled in. I had tried a couple of different releases of Descent, but didn’t make the switch at the time for one reason or another. I decided to try it out again this weekend. Now I’m finally waving goodbye to CE.
Descent is still not at the stage where configuration is as automatic as I would like, but it’s not so painful. I’ve been using Eclipse for years with my Java projects anyway, so it’s not like I’m venturing off into uncharted waters. I do recall that I had a problem compiling Tango projects the last time I used it, because I had the same problem this time. Last time, I didn’t bother investigating. This time, I really wanted to use it so took a bit of time to see what was going on. Turns out that the problem had nothing to do with Eclipse, but with my PATH variable. I’ve been using batch files to launch self-contained environment configurations for Phobos and Tango and forgot that running DMD in the default environment would fail. So after some juggling of sc.ini files, modification of the command line, and configuration of DSSS, I can now compile Tango projects from within Eclipse with DSSS. Man, that’s a great feeling after working on the command line for so long.
Eventually, I’m going to set up separate environment configurations to launch Eclipse so that I can use both Phobos and Tango within it without modifying anything. It’s not a big priority at the moment, though.
Ary, Robert and all of the contributors to Descent have done an outstanding job. My productivity has gotten a nice boost thanks to the work they’ve done. And now I can finally recommend an IDE with confidence to people who ask me about D.
Technorati Tags: D Programming Language, Eclipse, Descent, IDE
Having done some Eclipse development before, I can echo your statement Mike: Descent *is* an outstanding job. Navigating the Eclipse developer documentation alone is a daunting task – making something useful is something else entirely.
Sadly, my home system just doesn’t have the muscle to run Eclipse as comfortably as CE. I’m hoping to get into that groove once I upgrade. I did however make a pass at getting things configured correctly with DSSS and the like, with little luck. Will you be posting a tutorial anytime soon?
I have used Descent for some time also, and it is undoubtedly an excellent (and badly needed) tool – especially because it will run everywhere Eclipse will run.
However, I usually feel somewhat encumbered by the fact that you are restricted to do everything from the inside of a project.
What if I have a larger project with many sub-projects, what if I want to open different files that do not actually belong to my project but are part of my daily working struggle. Usually this boils down to having other (lighter) editors open separately and many other such things.
I simply find it much more comfortable to use an unobtrusive editor, that doesn’t create hidden (.something) directories holding project information that mysteriously cause my project configuration to break when taking my work with me from work to home or viceversa. And when compiling I want to be able to use DSSS properly, without the need to create unintuitive shortcuts that trigger it. Also I think it is much better to have DSSS handle linking of libraries with my executable and so on…
So even though Eclipse brings so many features into the pot, editors like jEdit and Geany are still my favorites (if the Java VM would support bit-mapped fonts jEdit would simply be the undeniable king in my view).
Please note that I really don’t want this to sound like ranting; I just like the freedom of a source code editor compared with a full blown IDE.
I have used Descent for some time also, and it is undoubtedly an excellent (and badly needed) tool – especially because it will run everywhere Eclipse will run.
However, I usually feel somewhat encumbered by the fact that you are restricted to do everything from the inside of a project.
What if I have a larger project with many sub-projects, what if I want to open different files that do not actually belong to my project but are part of my daily working struggle. Usually this boils down to having other (lighter) editors open separately and many other such things.
I simply find it much more comfortable to use an unobtrusive editor, that doesn’t create hidden (.something) directories holding project information that mysteriously cause my project configuration to break when taking my work with me from work to home or viceversa. And when compiling I want to be able to use DSSS properly, without the need to create unintuitive shortcuts that trigger it. Also I think it is much better to have DSSS handle linking of libraries with my executable and so on…
So even though Eclipse brings so many features into the pot, editors like jEdit and Geany are still my favorites (if the Java VM would support bit-mapped fonts jEdit would simply be the undeniable king in my view).
Please note that I really don’t want this to sound like ranting; I just like the freedom of a source code editor compared with a full blown IDE.
The most important thing in the end is to have alternatives for everybody, and Descent is certainly on the right path. Rock on!
Will you be posting a tutorial anytime soon?
Let’s say some time within the next couple of weeks.
Thanks! We’ve been working hard on fixing bugs, increasing performance (as Pragma mentioned, performance could be a lot better), and adding features (including a builder, maybe).
I agree it’s always nice to have a basic editor and if that’s all you need, well, all the more power to ya!
“Eventually, I’m going to set up separate environment configurations to launch Eclipse so that I can use both Phobos and Tango within it without modifying anything. It’s not a big priority at the moment, though.”
Are you planning on using both Phobos and Tango from within the same project? I hadn’t really thought of that yet, but now I realize it could be useful for library/binding developers that have to test code with a lot of version() statements.