Original URL: https://www.theregister.com/2010/04/26/blowing_bubbtles/

Porky Visual Studio way over the hill

Code Bubbles, not bloat, for .NET and Java

By Matt Stephens

Posted in Software, 26th April 2010 04:19 GMT

So, Microsoft has released Visual Studio 2010. The latest incarnation of Visual Studio had a difficult gestation, with critics pointing to the slowness and instability of the beta release.

Installation was an eye-opener: the 2GB ISO was quicker to download than it was to install - not even counting the several reboots required. When moving files around locally takes longer than downloading them over the net, something's gone seriously wrong.

But were the result and the waiting finally worth it? Hardcore Windows C++ developers will welcome the new release, and Java developers will doubtless be heartbroken to miss out on the 2GB download. But the main focus is .Net, and .Net is an also-ran. Serious systems work will continue to demand Java and C++, leaving .Net bouncing merrily on its Silverlight kiddie-cloud. Seriously, if you want to create a server-side system with demanding performance and scalability requirements, you just don't use .Net.

For everyday use, Visual Studio 2010 is pleasant enough. Open up a C# Windows Forms project and you can drag-and-drop components onto a visual form. But the problem I have here - and this isn't just a criticism leveled solely at Visual Studio; it's against all the modern IDEs out there - is that this is not so different from what we were doing with the first version of Visual Basic 19 years ago. Somehow, Microsoft managed to fatten Visual Studio up to porcine levels and yet using the product feels like you're trapped in the 1990s.

CodeBubbles IDE

Can you tell what it is yet? Eclipse hidden by Code Bubbles

Java IDEs suffer from the same problem, to an extent. IDE evolution has become a game of feature creep, each new release touting bold new features, drawing in concepts well outside an IDE's core competency - half-baked UML support springs to mind - and packing it all into a single frame. The notion of "doing one thing, and doing it well" has been laughed out the window.

And the reason for this stagnation of innovation in the IDE space? The industry leaders have become portly, comfortable, and middle-aged. Eclipse is smoking its logical representation of a pipe, content to let plug-in developers pad out its ecosystem. NetBeans plays perpetual catch-up while its fate is decided for it. IntelliJ no longer sells itself on productivity, having fallen into the "feature checklist" trap.

The time is ripe for a brand-new contender to stroll in with something fresh and steal developer mindshare from beneath the leaders' pipe-yellowed moustaches - just as a young Eclipse once did to NetBeans.

Put down your pipe, old man

The bubblicious Code Bubbles IDE could be just that new contender. It puts a leash around Eclipse to do the donkey work for it, but invents an entirely new front-end so that programming becomes more like playing with Matey in the bath. A prototype from Brown University in New England and video about Code Bubbles has passed the frothy developer test, with viral emails flying around the workplace.

Visual Age had a similar concept, shielding users from the heinous concept of "files" and instead presenting code in smaller fragments. In that sense, perhaps Visual Age was ahead of its time, but its implementation was a lumbering dinosaur compared with the agile freshness of Code Bubbles.

The idea is also shared, to an extent, by Mylyn, an Eclipse plug-in that it's claimed "realigns the IDE around tasks so that you see only the code that's relevant."

Code Bubbles itself uses an Eclipse plug-in - though you wouldn't think it to look at it. But creator Andrew Bragdon has taken the braver route of keeping Eclipse at arm's length, running Bubbles in a separate process (using C#, ironically) so that Eclipse itself is generally off-screen. Trying to shoehorn the UI into Eclipse would have watered down the whole concept and cluttered the user's workspace with general-purpose distractions.

My first reaction to Code Bubbles was: "This is an IDE for the ADD generation...what's wrong with a single uncluttered screen containing program code...something that actually encourages the programmer to think, and not be spending their time popping bubbles"? Luckily, before I grumbled further and reached for my pipe, I realized Code Bubbles really does represent something bold and possibly better than the notion of a single screen of code.

Stay sharp

I asked one Emacs user why he chose the Grumpy GNU over Eclipse or IntelliJ for Java development. His reply was that the lack of built-in "code insight" keeps his brain sharp - it forces him to know the APIs he's working with. And that's the dissonance in a nutshell: IDE creators want their product to do some level of thinking for us, to hide away the details so that we can focus on the business details and not worry about how the magical engine actually works. Offset against that is the idea that real programmers code in binary.

Whether or not Code Bubbles turns out to be the future kingpin IDE, or whether it's simply the precursor to something more commercial or pragmatic, it does represent the "doing the thinking for us" paradigm. That is, a pattern that development languages and environments have been following for decades, of hiding layer upon layer of implementation detail so developers can focus on what really matters, delivering fit-for-purpose, maintainable software that doesn't bring stock exchanges crashing down. ®