Welcome!

.NET Authors: Shelly Palmer, David H Deans

Related Topics: .NET

.NET: Article

New Version of IDEs from SharpDevelop and MonoDevelop

Monkey Business starts its sixth year

Time sneaks up on us. Last month’s issue started year six of “Monkey Business” in .NET Developer’s Journal. Many thanks to all the readers who made this milestone possible. You can revisit all of the past “Monkey Business” columns. Last November marked the beginning of my seventh year with the Mono project.

SharpDevelop 3.0 Hits Beta 1
SharpDevelop has released the first beta of version 3.0. It now supports the same multiple frameworks as VisualStudio 2008 (2.0, 3.0, and 3.5), so work on improving version 2.2. has stopped. My favorite new feature is the ability to use multiple cores for compiling; benchmarks show about 40% faster compiles on two-core CPUs. See http://tinyurl.com/3daodg and http://tinyurl.com/39zo5k for a description of the obstacles that were overcome for this to work. SharpDevelop 3.0 also includes WPF support; here is a simple template.

SharpDevelop now officially supports both F# and IronPython. NDoc has been replaced with Sandcastle and the SandCastle Help File Builder; NCover has been replaced with PartCover. NAnt and Mono are still supported, but the related binary support files are no longer included as part of the normal setup. The source code for Mono and NUnit is included in the samples directory and it’s easy to compile and install them. NAnt was removed from the setup because SharpDevelop switched to MSBuild for its main build tasks sometime ago; it’s still included in the samples files because it’s a good tool, used a lot, and because it’s still useful for compiling add-ins. Mono was moved from production to sample status because MonoDevelop is being ported to Windows, and SharpDevelop never fully supported Mono (no debugger or GTK# designer support), and they got tired of answering support questions about when these Mono-related features would be available, when there were no plans to ever make them available. Mono support is still available; you just need to compile the options yourself; and any program compiled by SharpDevelop should still run under Mono, if no classes or methods are used that are still unsupported by Mono.

SharpDevelop is looking for new members to help with all parts of the project. Besides bug fixes at all levels of programmer capability, they are also looking for programmers to contribute to the new 3.0 features, see the WPF task list for examples of what you can contribute.

MonoDevelop Reaches 1.0 stage
The Mono team has released version 1.0 of the MonoDevelop IDE. It was created as a Linux fork of SharpDevelop 1.x back in 2003. Although open source, SharpDevelop is a Windows-only program; MonoDevelop is currently a Linux-only program, but it’s being ported to Windows. MonoDevelop will only support GTK# and not Winforms for the foreseeable future. Although there may be some overlap, MonoDevelop doesn’t see itself as being a competitor to SharpDevelop, which is more advanced and aimed at a different market. Instead, MonoDevelop’s emphasis will continue to be on Linux and GTK#, while SharpDevelop’s emphasis will be on Windows and Winforms. Miguel has a great blog on the history and future of MonoDevelop. MonoDevelop has built-in support for code completion for C#, VB.NET, C/C++, as well as Boo and Java (via IKVM) by way of add-ins. Only C# has full support (code completion, visual designer, class trees, and refactoring). A table of which capabilities apply to each language is available in the full release notes. This release includes integrated NAnt, NUnit, and Subversion support, as well as the ability to read and write Visual Studio project file formats, and it can package a project as a tarball, source code, or binary package for Linux. It supports ASP.NET with testing on Mono’s XSP server. Like SharpDevelop and Visual Studio, MonoDevelop supports multiple versions of .NET, but where the other two IDEs support 2.0, 3.0, and 3.5, MonoDevelop supports 1.1, 2.0, and Moonlight (Mono’s version of Silverlight). Screen casts of creating install packages using MonoDevelop at are available here.

The full list of features is too long to list here; see the details in the release notes, and if you have a Linux box, or try it with one of the virtual machines on Windows, see the Mono download page and other downloads (under snapshots).

Odds and Ends
Mono 1.9 is out; this is considered a beta for the big 2.0 release later this summer, more details next month.

Google Summer of Code is happening again this year, and Mono has once again been accepted, more details next month.

More Stories By Dennis Hayes

Dennis Hayes is a programmer at Georgia Tech in Atlanta Georgia where he writes software for the Adult Cognition Lab in the Psychology Department. He has been involved with the Mono project for over six years, and has been writing the Monkey Business column for over five years.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.