[MonoDevelop] Request for Mission Statement

Miguel de Icaza miguel@ximian.com
Thu, 08 Jan 2004 12:42:31 -0500


I will chip-in with my ideas:

> * What is the main purpose of the project?
> * Who is the IDE targeted at, primarily?
> * What main features should it incorporate?

Today Linux is lacking good development tools.  There are some good
efforts, but we wanted something that would work fine with C#.

There were various efforts to create a Gtk# based development
environment (Scaffold, Sugar, torkar's, csharp-develop) and a couple of

We knew that SharpDevelop was the best thing out there for C# and we
initially wanted to get the intellisense widget ported, then we would
deffer to others the creation of the IDE.

But soon the hackers realized that it was relatively easy to port the
whole thing, and the process started.

So I think that the purpose is:

	* To create a best of breed development environment for Unix
	  systems for C# and Mono.

	* Since its written in Gtk#, and we like Gtk# and we get good
	  support from Gtk#, most likely it will add functionality to
	  improve the Gtk# experience.

	* To drift as little as possible from the main SharpDevelop:
	  we want ideally to merge the code back (through ifdefs, 
	  conditional compilation, interfaces, whatever) to maximize
	  the contributions and maximize the development speed.

	  So a big focus has been to keep in mind that we want to merge
	  with the main effort eventually.

	* Today the IDE is a simple IDE and on Unix does not do GUI 
	  design (that is limited to SharpDevelop), but we want to add
	  a GUI designer, and I know Ximian wants to have someone doing

	  Before MonoDevelop, we were thinking `standalone', but now
	  it makes sense to integrate.

	* We want to integrate the tools we have been building so far,
	  so things like MonoDoc, NUnit-Gtk and the debugger should 
	  target MonoDevelop.

In my personal opinion, the MonoDevelop/Gtk# components do not
necessarily need to be portable to Windows, and we should use and
exploit as much as the Linux, Gnome, Gtk, Freedesktop have to offer and
not limit ourselves.

If people in the future want to run MonoDevelop/Gtk# on Windows as the
standard base, am sure we can find the right spot to isolate the
Unix-isms from the Windows-isms (hey, its been moved from one side to
the other, and it was not hard, so it is not likely to be hard the
other way either).