Why GNOME Do Is Built With C#
The Big Picture and the Bottom Line

Paul Ferrill
Thursday, July 16, 2009 12:25:35 PM
From David's perspective the C# language had many of the things
that were important to him, but it was not until the advent of C# 3.0 that he
really got excited about the language. C# 3.0 brought a number of improvements
to the language including anonymous types, lambda expressions and Language Integrated
Query (LINQ). The LINQ features alone made it possible for the GNOME Do team to
refactor a large amount of their code.
Building on top of the Common Language Infrastructure (CLI --
ECMA 335), or the Mono runtime as it is implemented, makes it possible to take
advantage of other languages such as Boo. Boo is a Python-like language built
on top of the CLI. You could also use IronPython which does run on Linux on top
of the Mono runtime.
The other part of the success story for GNOME Do is the team
they have build. They currently have 4 -- 5 core developers to complement almost
100 contributors to the project. David attributes the level of participation to
the use of C#. "We had one guy that came in and wrote a Firefox indexing plugin.
He did all the SQL to index your history and made it available to GNOME Do. Then
he moved on to something else," says David.
Learning C# is not difficult, especially if you have
experience with languages like Javascript. Running a program on top of the CLI
provides a level of protection in a managed code environment that you don't get
with languages like C or C++. There are a number of good IDE tools for writing
and debugging code, or you can just use your favorite text editor and the command
line tools to build your code as do many on the GNOME Do team.
Other Stories on LinuxPlanet
|
Bottom Line
Choosing a programming language often comes down to personal
preference. It frequently equates to comfort level or convenience. Finding an
easy way to program something usually wins out over elegance. In the long run you
will write code that's both easier to read and maintain if you enjoy the
language and write readable code.
The C# language is just another tool in the toolbox backed
by an international standard (ECMA 334). It also happens to be a favorite
language of the largest software company in the world, making it a target to
avoid in many people's mind. In the end you'll just have to go with what makes
the most sense for your needs.
« Back: Language and Architecture Decisions