4

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.)

7
  • 2
    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, 2011 at 21:18
  • 1
    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. Feb 12, 2011 at 21:18
  • 1
    It is ok when you have unlimited gold pieces, time, and do not have kids.
    – Job
    Feb 12, 2011 at 22:00
  • 1
    @Job. Sounds like a prerequisite for everything. Sell kids for gold, so you have more time. :}
    – mario
    Feb 12, 2011 at 22:04
  • 1
    @mario: I've switched from vim to emacs. It does take time to learn the new keyboard controls, but not as much as you would think. It's definitely faster than writing your own IDE. Feb 12, 2011 at 22:20

3 Answers 3

2

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.

2

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.

2

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.

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