Rory's Blog
Home
Blog
Projects
Facebook
Google+
Github
RSS

Modular Development Environment

03/30/15

I don't really like IDEs. Xcode, Eclipse, Spyder, Light-Table....

These are a few of the IDEs I have tried. There are aspects of them I really appreciate, but something always annoys me about them and I end up abandoning the whole thing. A big part of it is that I want to control the screen setup somewhat finely, and most of the time what I need is some indivual aspect to be full-screen and then have access to the other stuff very quickly when desired.

Light-Table approximates this pretty closely, but I feel what it provides isn't a signficant leap from using vim and various command-line tools. And at this point, the ability to plug-in any miscellaneous command-line tool into my development work-flow is approaching triviality. IDEs do so much for the user that a simple hack to do any arbitrary thing usually is non-trivial.

In vim, I can capture a hacky way to do something while I'm doing it. I can save those keystrokes as a string just by pasting the register I assigned it to, and I can think of whether or not I want it to be prettier or better-thought-out once it has proved its usefulness.

Anything vim can't do, I have the whole of linux's available shell commands to use. It is also trivial to call these things from vim. Anything these scripts don't explicitly do for me, I can impolement myself fairly easily in most any language I choose and plug that into vim like any other script.

And so I have this modular development environment that can be hacked together to fit my needs, and refined to something better designed when such improvement is necessary. This is not an IDE, though, it's what I like to think of as an MDE, "Modular Development Environment".

I would like something that was explicitly an MDE. I googled it, though, and nothing particularly interesting showed up. Now, I'm not particularly interested in abandoning my setup, but the reason I like my set up makes trying IDEs painful for me, and as such my interaction with the wider variety of tools is sorely lacking. Which, to me, means that my perspective is probably quite limited.

I should probably work with some IDEs to develop an idea of the things that's missing in my development environment, and more what I would want out of an MDE as I contrast my system to the tradional IDEs.