tags:

views:

343

answers:

6

Hi, I often read that one of the best ways to continue learning how to programme is to study great opensource projects out there in the wild. Can somewhere recommend a good open source C# project that they learned a lot from. I've been coding a couple of years, both windows and web apps, pretty standard stuff, sql server, asp .net. I'm particulary interested in improving my skills in building well architectured n tier apps

Thanks,

Brendan

+1  A: 

At the general level, I've found that standard library code is often good to learn from. Reading the source to application code is certainly useful. However, reading the code to STL, or D's std.algorithm or something that is similar, teaches you how to think on a higher level, and to create generic, reusable code. In contrast, application code is often more ad-hoc and heavier on boilerplate, and therefore not as educational.

For your specific case, I'd read the code to the libraries/frameworks you're using. It's interesting in and of itself to know how these things work instead of taking them as magic, and they're written by top-tier programmers and probably much higher quality and much more dense in terms of significant programming concepts per line than most application code.

dsimcha
+3  A: 

Microsoft's own ASP.Net MVC project is open source. It's under their own license, which is probably pretty restrictive about what you can actually do with the code. But it's a pretty large project and interesting to look at.

Matt Ephraim
+1  A: 

MediaPortal. Some of it is fabulous, some of it is bad. However, if there is anything you want to do, its in there somewhere.

Steve
+4  A: 

Have you looked at Codeplex? There are over 800 open source C# projects there.

Jim Anderson
A: 

How about the OpenJDK (the open source version of the Java Development Kit)?

Here is OpenJDK 6

Here is OpenJDK 7 (release planned for 2010 or so)

ivan_ivanovich_ivanoff
A: 

Have a look at the NHibernate code its fantastic their repository is here

Miau