Sunday, July 03, 2005

Exploiting SharpDevelop.

"If it goes badly, I'll have to drop back down to SharpDevelop; basically, mutilating BooBinding and exploiting the text editor to do refactoring stuff (things it was NEVER meant to do)."

Let me expand on why I view this as a Very Bad Thing:

Documentation:

SharpDevelop's Addin interface is not poorly documented: it is completely undocumented. No, sorry, your three year old completely out of date book does not count. It is ironic that they have the time to churn out Addin after Addin after Addin, but can't take the time to documentation the interfaces: something that opens up SharpDevelop to a much wider audience of plugin makers rather than the few that already know how to do it.

There have been many posts on the forum about 'how to get started' with Addins. They're all pointed to the ridiculiously out of date eBook or told to browse the source code. Source code is not documentation.

This is a hobby, not some bizarre obsession: I've got stuff to do, and browsing through your source code because you're lazy is not one of them. I'm sorry if that was harsh, but its the truth. SharpDevelop isn't popular or good enough to attract hard-core developers like those. It is the best free .NET IDE available at the moment, but its not that good. It is not a rock-star application; people are not willing to struggle through bad/poor documentation to make magic happen.

SharpDevelop 2.0: Codename 'Corsavy.'

Here is a serious, serious problem the Sharpdevelop team has made for themselves: these are all the features SharpDevelop 2.0 are supposed to support:
  • Refactoring support.
  • 'Go to Definition' and 'Find all References' support.
  • Built-in debugging support.
  • Slick user interface.
  • Better Addin API.
Sounds great, right? Oh, it sounds great. But here's the deal, cats and kittens: SharpDevelop 2.0 isn't out yet. The time-frame for a beta release keeps slipping and slipping. They keep promising it'll be 'Real Soon Now,' but beyond the feature list there's no information about Corsavy at all.

So, why would I want to do a refactoring plug-in for an already obsoleted SharpDevelop 1.1? The minute 2.0 comes out it will support these features out of the box, and propbably in a nice integrated manner. You can rest assured that almost everyone will upgrade, because SharpDevelop is trailing edge and about to fall from that fine line. I'm not willing to invest effort in something that will be completely depreciated a few months later.

Concrete information about SharpDevelop 2.0 needs to hit the newstands before its something I'll even begin to consider seriously again.

No comments: