Brian's Waste of Time

Thu, 18 Mar 2004

Cult of IDEA

I am home sick today (and yesterday -- first sick days in three years =/) so have way too much time to think. Reminded me of something I have been wanting to mention for a while -- the Cult of IDEA.

IDEA has a following akin to vi or emacs, almost. The key thing to this, I think, is that it is because of vi and emacs that it does. Before IDEA using an IDE was a joke -- you used it if you didn't know what you were doing in order to cover up the fact. IDEA came along with a simple proposition: presume the developer is smart and talented.

Most of the earlier Java IDE's were clones of Borland's Turbo Pascal environment (include JBuilder in this category), or Microsoft's Visual Studio. They basically aimed to take a novice programmer and make it so that the novice could produce something mostly useful. Code generation became a dirty word because the IDE would generate code the developer wouldn't have a clue how to reproduce or intelligently edit.

Emacs, vim, et al had made this jump long before, but lacked the platform standard UI's the shiny idiot-box IDE's had (or rather, had standard ui's for platforms named emacs and vi). You had to make a major commitment to move to these tools, one that paid for itself many times over, but still a major commitment you couldn't know the value of before you leaped.

IDEA changed all that -- and in doing so garned a very devoted set of adopters. It also redefined the IDE market.

2 writebacks [/src/java] permanent link

Get it Right -- Groovy is Endorsing the JCP

Lots of the excitement around the Groovy JSR points to the idea that James et. al. are trying to use the JCP to rubber stamp groovy as the one-true-scripting-language. This is absurd, in my opinion, but I understand the fears.

The more interesting point is that this endorses the JCP as a standards body (not that it needs endorsement) and shows faith in the JCP's ability to grow a standard that is more than a language extension. Most people seem to frown at ECMA and ISO for standardization of languages -- look at C# and ECMA. Who believes that anyone besides MS can make changes to the C# spec, or that anyone who provides a real threat to MS won't get sued into oblivion despite the existance of a standard (you still need to be able to afford five years of good lawyers in court to defend yourself)?

There is a key point that many people seem to overlook. Groovy doesn't compete with jython, pnuts, jruby, etc. They cooperate. No one directly profits from any of them, any one of them is welcome to reuse ideas and code from another, etc. It is like the flame wars of a year ago between OJB and Hibernate users (the developers didn't really get involved in any flaming) which never made sense. Both are great technologies, and both are welcome to see what the other is doing and use each others good ideas. Open source technologies support each other, they don't compete. It is not zero-sum.

By going the JSR route the Groovy team is deliberately relinquishing control over their language in order to make it easier for other people to use, and to make it more politically acceptable in famously large companies that would never consider a toy language. Groovy has aspirations far beyond being a little language -- and formalizing the process by which it is developed is a key step to achieving that. I am impressed in their faith that the JCP provides that framework -- it says a lot about changing perspectives on the JCP.

0 writebacks [/src/groovy] permanent link