« Shai Agassi: time to market | Main | Random thoughts: scripting in Java »

Game over - Emacs wins?

Cool Firefox tips from Jon Udell: More Firefox search plugins

I once described Eclipse as a $40M port of Emacs to an IBMer - which didn't go down too well. But it occurs to me that Firefox with its plugin approach is not a dissimiliar way of manging things to Eclipse. Now, you can make deep alterations in Emacs, given its Lisp-fu nature. Powerful, but you might end up mortally wounded. The Eclipse/Moz approach to this seems to be different - don't muck with the core and make sure you don't have to by keeping it very small and manage extensibility via plugins. I think you can characterize that as more directing and structured than the Emacs approach.

I wonder if we're not compensating limited flexibility in the programming languages by building flexible and reflective containers instead, that you manage through a ConfigurationLanguage. And I think we're well aware by now that one way to tie someone into a container based on an open standard is through the ConfigurationLanguage. Perhaps we should ask if this the right road to go down - at what point does the kernel become an interpreter?

Maybe what we need is not a middleware container, but a middleware interpreter.

Which brings me onto micro-kernels and lightweight containers in Java. I wonder if there's any real difference between a deployment and a plug-in, and whether we can't compare containers to interpreters in that case. Here's a question. Which of the current crop of Java container/kernel architectures do you think supports the plugin model well?

April 20, 2004 03:37 PM


Chris Sterling
(April 20, 2004 07:16 PM #)

It seems to me that many of these "patterns" or "architectures" are very similar in their configuration mechanics. If you look at JMX, which I believe is a strong solution which fits the plugin idea quite well, it may be used to load a J2EE server module, an IDE plugin, or coordinate communication of messages from multiple applications (and of course much more).

With Jini though, I think that there is whole new way of distributing and scaling "plugins" or "services" within a network topology. Now you are able to "find" services which fit your criteria and then use those services on an "as needed" basis. If networks are able to reach tremendously better speeds and network protocols become more reliable I think Jini-type service-oriented architectures will become the norm (at least I hope so).

If I had to pick an implementation of a container/micro-kernel at this time that I believe handles the plugin model well, it would have to be JBoss.

Trackback Pings

TrackBack URL for this entry: