[MonoDevelop] Request for Mission Statement
Miguel de Icaza
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
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).