Monday, March 14, 2005

Sun moving into Language Oriented Programming?

Is Guy Steele's new project at Sun the first step in a larger move toward Language Oriented Programming? The Java guru and all-round language master (Lisp, C, Fortran), is working on a new language that sounds like a hybrid of Java and Fortran, cleverly named Fortress. The interesting part is that he plans to use this opportunity to try out some new things, like not limiting the language to plain text:

"What if we tried really hard to make the mathematical parts of a program look like mathematics?"

There are other similarities to LOP, as well, such as the emphasis on domain-specific language instead of general-purpose language. In this case, the domain is scientific and mathematic applications. Also, he seems quite focused on programmer productivity, which is refreshing.

What makes me think this is about more than just a single language are these two revealing quotes:

"I'm willing to stand back and say, 'Look, the way we've been doing it for half a century isn't very good.'"

"I think there is room for at least one more big leap, and Fortress is our experiment with trying to make that leap."

Even more interesting is that Guy Steele is a major figure in Lisp programming. A lot of Lisp programmers hear about LOP and their knee-jerk reaction is, "Oh, that's nothing new. You can already do that in Lisp." I wonder then, why Guy Steele has chosen not to implement Fortress as a Lisp library, hmmm?

So, it looks like all the players lined up in the meta-programming arena: Jetbrains with the MPS project, IBM Rational with MDA, Microsoft with Software Factories, and Sun (probably) with Fortress. It's interesting to notice a trend there. Of IBM, Microsoft, and Sun, the later they join the game, the more their entry looks like LOP, and the less it looks like UML. I think that's a positive sign for Language Oriented Programming.

I think Sun (or at least Guy Steele) is on the right track. Starting with a single language could be a good strategy; prototyping is generally a good thing. The choice of domain is very promising, considering Fortran's prior success and mind-share. It could potentially do for Fortran what Java did for C/C++. Steele's emphasis on programmer productivity is the critical factor, though. That's the right vision. If he can make that work, Fortress will succeed, and from there, Sun could potentially develop a full LOP platform. The future is bright!

Friday, March 04, 2005

Mobile Maven

My colleague, David Stennett, has about a gazillion mobile gadgets. He's what Malcolm Gladwell (author of The Tipping Point) would call a 'maven'. It's scary. He knows way more than any human should know about all things mobile. Now he's on to something called moblogging (?). Leave it to him to find the mobile angle in anything. Yikes! I'm just getting used to normal blogging.

Eclipse Over-Hyped; Developers Suffer

Swarms of vendors are clambering onto the Eclipse hype-wagon, hoping to surf a tsunami wave of plug-in profits. Where does that leave Java developers? Does anyone actually believe Borland, who basically admitted defeat in the Java IDE world, is going to bring anything innovative to the table -- let alone give it away for free as open source?

More and more I see Eclipse as two entirely separate things: Eclipse the IDE, and Eclipse the plug-in platform. Developers see Eclipse as an alternative Java IDE which is free and open. Vendors see Eclipse as a platform for their plug-ins, which are not free and not open. That's quite a different perspective, and you can feel the difference in the hype of today versus the buzz of last year.

Last year the buzz was about Eclipse finally gaining independence from IBM, becoming non-profit, and forging ahead with its free and open-source vision. This year, the marketing hype almost reminds me of the pre-bust "New Economy" buzzwords of not too long ago. "Strategic partners", "ecosystems", and no doubt "lasers".

Lots of people assume that the hype involving the plug-in platform will automatically translate into more-useful plug-ins for the IDE, but they forget that these shiny proprietary plug-ins will not be free or open source, and they're not going to be integrated with the other vendors' proprietary plug-ins. In a worst-case scenario, you would end up with the worst of both worlds: Expensive tools that don't work well together. Who would want that?

So, when you read the next news release, or quotes from some big-wig in some industry trade rag, prick up your ears, but pay attention to what they're saying behind what they're saying. It's all about money, my friends, and anyone who tells you different is selling you something. (I'm selling you something too, but I'll get to that later. And at least I'm up front about it! ;-)

Here's an example of what I mean. This so-called article ( touts Eclipse as "the center of innovation in the Java tools industry", and one VP, who shall remain nameless to avoid embarrassment, said "'It's over,' ... referring to competition in the Java tools industry." Umm, excuse me, we're the competition and it's not over.

An interesting discussion arose over the article at Javalobby. Graham Lea comments, "Firstly, would anyone really say something is a 'center of innovation in the Java tools industry' without being paid to say it, or at the very least given a script? ... Secondly, what's all this hullabaloo about a 'platform'? I want to cut code fast and easily and I don't really care if the IDE is built on a flexible platform or not - it makes no difference to my use of the IDE."

The article goes on to glorify the Eclipse members and all but bad-mouth Sun (who is not an Eclipse member). This is not about developers at all, this is a PR war. Who's behind it? Tim Boudreau, a developer of Sun's NetBeans, has his theory, and writes "A good rule of thumb for this sort of thing might be, never believe anything you read about developer tools that isn't written by someone who develops software for a living."

And that's what it all boils down to: Developers. Hype doesn't help developers write code. Don't get me wrong. I'm not saying Eclipse is all hype. I'm saying that at the end of the day, developers need the best IDE for the job, regardless of the hype. Eclipse, as a plug-in platform, is a great opportunity for vendors, but it's not an IDE. Eclipse, the free and open Java IDE, still lags behind IntelliJ IDEA and will probably continue to do so, in my opinion. Eclipse tries to be everything for everybody. IDEA only tries to be the best, most intelligent, most usable Java/J2EE IDE. Anyone who's a professional Java developer, serious about productivity, should try both IDEA and Eclipse and choose the best IDE for the job (and of course, personal preference).

Finally, to put this hype in perspective once and for all, Graham Lea again writes, "the current form of IDEs exists only because of the paradigm shift IDEA started about 4 years ago. It's only a matter of time before someone releases something that blows our minds again, and then Eclipse will just be the free old-school editor that only that 30-something guy in the corner uses (ala. emacs today)."

Rob Harwood
Software Developer
JetBrains, Inc.
"Develop with pleasure!"

Tuesday, March 01, 2005

JetBrains releases ReSharper 1.5

JetBrains has released ReSharper 1.5, the refactoring and productivity plugin for Visual Studio .NET. It's a free upgrade from 1.0, and also available for a free 30 day trial. And get this, the upcoming version of ReSharper for VS.NET 2005 (tentatively called ReSharper 2.0) will also be a free upgrade for current users, so there's no need to wait for VS.NET 2005, whenever that might be!