Opensource projects to learn from [closed] - c#

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
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

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.

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

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.

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

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)

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

Related

Stand alone C# compiler [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
We have a software which we use in-house for our day to day work.
It is like a customize CRM (sort of) and Bug Tracking software. We had a small team of 3 developers who had developed this software. Now this team is also working on other assignments.
Recently we are receiving a lot of request for adding functionality from users (who are our employees and all of them are developers working of different projects) in our firm. The original team that created this software does not have enough time to work on enhancing this software. So instead of spending a lot of time in updating as per request and the updating the executable of software for each user, we want to implement a programming/scripting solution that is if possible free and open source.
I was thinking of adding support for a language which is similar to C# to our application. This way the developers will add the features that they require on their own in their spare time if they really need a feature!
Can anyone point me to some such implementation already existing?
I don't know if I am taking the right decision or not regarding C# I would like to get opinion of experts on this also.
TIA
The framework already comes with a C# compiler you can use at execution time via CSharpCodeProvider.
You might want to look at the source code to Snippy, a small tool I wrote for C# in Depth - that compiles code on the fly, and can act as a reasonably simple introduction to CSharpCodeProvider.
I think I'd look at a scripting solution here; probably IronPython is the easiest to bundle and host, but others are available (including Javascript.NET, IronRuby, IronScheme, Boo, F#, etc)

What programming language should i learn? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I work for a manufacturing company in the configuration dept so i see alot of process related data control stuff passing me by everyday. In the past i have developed some excel vbscript programmes to manage a lot of data items through a GUI and using excel as the backend to store results, but there's only so far you can take that.
I would really like to learn how to create proper databases with GUIs, multiple user logins and workflows for approval etc, but i have no idea where to start.........any advise on desktop applications or web based applications to allow the system to be used over the internet when working abroad, would be appreciated.
Thanks.
Fergie
C# and .net would be a good place to start. C# is fairly easy to learn and visual studios offers a great development environment for it.
Java is also another way you can go. Java is multiplatform and has great functionality for integrating into a web environment.
If you're looking for a comprehensive solution for desktop apps, web apps and database development, you should definitely look into Visual Studio and .NET. It's the most "cohesive" suite of tools you can use and it sounds like you have some MS programming skills already.
This is not a programming language per se and it's cost money, but FileMaker Pro is great for what you're describing. It's a RAD tool that creates a database and GUI pretty much in the same development cycle.
We use FileMaker Pro for lot of small business software we write, we also heavily use Java, and FileMaker is at least 10 times easier/faster to build things in.
One final note, FileMaker is cross-platform for Mac and Windows, unlike C# which I see mentioned here.
This is very subjective, but based on your requirements, I'd go with C#. Both Java and C# let you develop both web and client apps, but C# integrates much more smoothly with Linux and especially Windows. Also, Visual Studio has an absolutely phenomenal debugger that will make your life much easier.

Microsoft Enterprise Library Useful or Not? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I want to know about Microsoft Enterprise Library 5.0 .
Can u plz tell me that , is it good to use various modules of that Enterprise Lib rather than developing our own modules for caching,encryption,data access,logging etc?
I am a beginner to Microsoft Ent Lib and simply want to know how efficient or effective
that Ent Lib is ?
If it is useful , can u plz guide me some effective link so that i can learn fast.
Thanks for paying attention over here.
One rule of programming is "never reinvent the wheel". So really advisable just to use the library than creating your own. Other than the library is well tested and proven to work.
There are not another library that are as complete as Enterprise library. But imho you can pick different open source libraries that will give you a more powerful alternative.
EL5.0 is a bit bloated and harder to use than open source alternatives. But then again, you don't have to worry about it not being supported.
yes you can use each block you want.
yes it is useful as a set of best
practices
you can learn reading its code as
well.
few quotes from documantation:
The Enterprise Library includes the source code for the application blocks. This means you can modify the application blocks to merge into your existing library, or you can use parts of the Enterprise Library source code in other application blocks or applications that you build.
The Enterprise Library includes documentation, QuickStart samples, and source code. This means you can use the library as a tool for learning architectural, design, and coding best practices.

Are there any good books on writing commercial quality software? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
My background has been generally new technology demonstrators, which, well... demonstrate the latest technology and how it can be of use to a clients company. They use it for internal demos etc.
Now my career has shiffed course a bit more into actual products, in particular software which runs in locations like museums as interactive pieces.
Clearly, although the technology demonstrators had to be well coded etc, there wasn't as much emphasis as there is on my current work, which has to work, be highly configurable, probably multi-ligual and run constantly, without restarts.
So my question is, now that I'm trying to up my coding quality and write more commercial applications, are there any books which discuss issues surrounding high quality commercial software?
I currently have a copy of Code Complete 2nd Edition, which is excellent, but just wondering if there's any better, possibly more focused titles out there?
Thanks a lot!
Andy.
** UPDATE **
After a suggestion from JosephH, I'm going to mainly be working with c# and .Net (possibly silverlight!), if this helps anyone! :)
You could try Working effectively with Legacy Code.
The title is slightly misleading - although it's a very good book at showing you ways to work with Legacy code, it's also good at showing you good and bad ways to do things, why it matters, and has a focus on producing testable code. (The author's definition of "Legacy code" is any code that doesn't have automated tests.) The examples are in C, C++ or Java.
(You might want to state what language and technologies you're working with to get more focussed answers.)

What's the best technology for a medium complexity web application? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 12 years ago.
I'm planning to work on a web application of reasonable complexity and am wondering what technology to go with. It will probably start with one person, but there will be 2 or 3 more eventually. My first requirement is to be able to do this as quickly as possible - preferably with as less code as possible. Secondly requirement is that it should be able to scale easily.
I have worked with .NET and PHP. So, I am thinking about ASP .NET MVC or CakePHP. It appears to me that CakePHP might be quicker. I did look at Ruby on Rails, but the learning curve is a little steep (which is not an issue if I can be convinced that this is the best tool for the task), I'm not too crazy about the huge number of files generated and I have heard about scalability issues as well as it's applicability to complex situations.
I look forward to your opinions on your favorite technology and why.
Despite the fact that many might disagree with me on this, I think the simple answer is your application will be written the quickest with whatever platform you are most comfortable/experienced in. Both ASP.Net and PHP can be written in quickly and will both scale extremely well if you have the experience to do so. Also either have a good market for future developers if you need to hire more. It is a question of what makes you comfortable.
I started with PHP and moved to ASP.NET webforms and now am working with ASP.NET MVC. I can say that I love MVC, and will not go back to webforms.
I have built applications faster with MVC than any other.
The only thing to mention is that PHP has a lot of tools/plugins that can make development faster, but MVC will catch up.
+1 for ASP.NET MVC
ASP .NET MVC is the better choice as long as you have the host resources for an ASP.Net website.
CakePHP is very robust and keeps things structured. Of course most any framework will provide the same. CakePHP handles some popular sites (like the mozilla firefox addon site). It is very simple to get running quickly. It is also very extensible. It has a vendors directory where you can integrate existing classes for use within the MVC architecture. Documentation is very well done and can be found online at cakephp.org. I have had great success with CakePHP. It takes all of the headaches our of the code and allows you to focus on YOUR code. It allows you to develop functionality instead of all of the necessary rudimentary issues of getting a website setup.

Categories

Resources