Extensible IDEs?
Whatever Fits queries: "We are trying to integrate our own specialized development environment. We are currently using Visual Studio and the add-in feature of that, but would like to get away from the Microsoft tax and have had to rewrite our software from scratch for reasons outside this scope. The current project includes adding specialized features to the IDE to handle our project types, extra tool-windows for user interaction, and an external process to run the compiled code. The compiled language is even open for debate right now, but would have to be something rather common or easy to learn. I really want to try to run Perl with SOAP for our backend. This is going to run on Windows systems but I am hoping to go for something cross platform for future extensibility if possible. What IDEs can be recommended that offer this kind of extensibility and keep the price per copy reasonable? I have a small list already built, but I have no experience with any of these but Visual Studio and would like to hear both success and horror stories of integration."
You may or may not want to go with something as "different" as SmallTalk - but with ST, the IDE itself runs in the same heavyweight proc as the code you're writing (different lightweight procs). As you develop, you actually "mold" the process image itself into the application you are building. It's VERY powerful as far as extensibility (because you can mold the runtime process image to anything you want it to be, and that includes the IDE).
It's VERY portable. Object Engines (similar in concept to the Java Virtual Machine...and actually a precursor to the JVM) are available for virtually any platform (Win, Mac, all kinds of *nixes, BeOS, Palm, PocketPC, etc, etc, etc). With a tiny bit of careful development, your app will run on any platform for which there is an OE.
Cincom has a non-commerical version of their SmallTalk VisualWorks, which is quite cool.
I use emacs, but I am far from satisfied. It only runs cross-platform under protest, many of the tools are poor approximations of what else is out there, and in general it is showing its age. Xemacs is not much better.
Has anyone given any thought to creating a text editor based on the principles of emacs? i.e. a toolkit for building editors? It seems to me that with the advances that have been made, time is ripe for a new level of text editor. Something taking the best from the IDE world, as well as the best tools from the older text editors.
My wish list (off the top of my head):
1. Easily and fully extensible, (MVC architecture)
2. Good support for projects of all types
3. Fast to start-up, edit, etc. (I've run into several IDE's that I like, but feel to sluggish to use)
4. Fully cross platform. (wxWindows?)
5. Full drawing capability for RAD GUI's, Bitmaps, etc.
6. Better GUI than emacs or Xemacs! (The speedbar is a poor man's explorer view!)
7. Good shell integration.
8. Easily scriptable in multiple languages.
9. Something akin to Komodo's Rx Toolkit
10. Coherent enough that if you only use a feature every month or two, you don't have to read the manual each time.
11. Easily manageable modules, tools, etc.
Has anybody heard of anything like this? Is anyone interesting in taking it one? I'd be willing to contribute, but I don't have the experience to work up the high level design...
Cooledit is extensible in Python and has a builtin interface to gdb.
Nothing else comes close.