Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

So I'm foremost using a text editor for coding. It's a very bare bones editor; provides mostly just syntax highlighting. But on rare occasions I also need to debug something. And that's when I have to resort to an IDE (mostly Netbeans, but got fiddly Eclipse/Aptana working as second fallback).

For general use however IDEs feel not workable to me. It's a visual thing, being used to console UIs etc. And switching back and forth between a text editor and an IDE is slightly cumbersome too. That's why I'm considering extending the editor, not really into a full-fledged IDE - but at the very least integrate a debug feature.

Since I'm working on PHP, it seems not that much effort. The DBGp allows to externalize a debug handler from the editor, so it's just minor integration work and figuring out how to shoehorn a breakpoint feature into the editor (joe btw).
And while I've also got time to do that, I'm wondering if this is really worthwhile.

  • In this case it's not a needed development tool. It's just for convenience.
  • And the cause for doing it is basically just not liking the existing solution.
  • While over time I might extend and adapt this debugger thing, it initially will be as circumstantial as Eclipse. It inevitably starts out as poor development tool.
  • Furthermore there is likely not much reuse. (Okay, this is not an important point. Most such software exists sans much of a use case. And also obviously, similar extensions already exist for emacs and vim, so it cannot be completely pointless.)

But what's a general guideline on attempting to conoct custom development tools, particularily if they are not really needed but satisfy personal preferences? (Usability enhancement not certain.)

share|improve this question
Just curious: if similar extensions exist for Vim and Emacs, why not use one of them? They're both visually simple, console-esque editors. Of course, Emacs contains a whole bloody OS, but it's still lightweight on the eyes :) Are you very attached to your editor, or could you make a switch? – bedwyr Feb 12 '11 at 21:18
I had a very similar design until I found vim and decided to take the time to learn it. I'm not trying to suggest that you. Just making an anecdotal observation. – frogstarr78 Feb 12 '11 at 21:18
@bedwyr: They're both quite different beasts. Transitioning to vim or emacs requires learning new keyboard controls, and would thus be likewise inconvenient as using an IDE. So yes, very attached to a particular editor; it's not just the consoleishness. – mario Feb 12 '11 at 21:27
It is ok when you have unlimited gold pieces, time, and do not have kids. – Job Feb 12 '11 at 22:00
@Job. Sounds like a prerequisite for everything. Sell kids for gold, so you have more time. :} – mario Feb 12 '11 at 22:04
up vote 2 down vote accepted

Personal preference or satisfaction is, in my mind, a perfectly valid reason for developing tools for your own use. You've already acknowledged you have the time to build the extension, and it sounds like this would save you quite a bit of grief. Your long-term productivity is important to keep in mind, and if there's a way to improve your experience, the up-front cost sounds worth it.

Heck, even if it doesn't reduce the amount of time swapping between your editor and an IDE, I would still say build it. Tools are there to make life easier, even if it's only based on our perception. When I'm frustrated with a tool, even if it cuts down a task's time significantly, I won't want to use it. I'd rather jump through several easy, well-understood hoops, rather than one very difficult one :D If building the plugin streamlines your coding experience, it's likely worth it.

share|improve this answer

The real question is if you feel it's worthwhile for you to spend your time working on it. There's nothing wrong with writing software for your own use, or to make your life easier. You probably won't be forcing anyone else to use it. If it saves you more time than you spend writing it, I would say go for it.

share|improve this answer

When no tool does what you need and/or the benefits from a custom tool would outweight the time "lost" developing that tool; personally, I made a few for that same reason and I think it's normal for programmers to want to optimize their work environment, we're problem solvers by nature and aim to optimize things.

You could start by making a plugin for your preferred IDE before you start on bigger challenges, that should hint you whether you want to go further or not with writing your own dev tools.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.