Why GNOME Do Is Built With C# - page 2
Language and Architecture Decisions
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.
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.
Sponsored by BlackBerry
BlackBerry® Enterprise Server Express enables businesses of any size to quickly and easily get started with the BlackBerry solution. It provides advanced BlackBerry smartphone features with no additional software or user license fees, and works with any Internet-enabled BlackBerry data plan or a BlackBerry enterprise data plan. Download now!