Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I don't mean to be rude toward the .NET community but I'd have to ask this because it has been bothering my mind a little bit.

Let me begin by praising the CLR and C#. Their latest features are great (both at runtime level and syntax level). But I have not seen something great (or notable) coming out from the .NET communities whether a new library, a new ORM, a new framework, a new paradigm, or even a new tool despite all these cool lambdas, task, linq, etc.

Why is that?

Coming from Java, a language/platform that is considered less superior, where there are tons of good tools like Ant, Ivy, Maven (is NuGet comparable to Maven? or still lagging?), or libraries such as JBoss Netty, JAX-RS, Spring MVC 3.0 (very close to Rails: routes, return XML/JSON depending on request, minus the ORM), JAX-WS (with annotation style programming), EJB 3.1 style programming (which helps a lot!), a few of NoSQL flavours to keep developers busy (Neo4J, Cassandra, HBase), distributed libraries such as Hadoop, I find this situation to be odd.



Two reasons imo:

1. MS advances their product at a semi-decent rate so people just wait for MS to bring out a solution. I don't mean this as a dig, it just seems MS is more plugged into emerging trends in programming. Asp.net MVC came out within a year of Rails and Django becoming popular and lots of MVC frameworks appearing for PHP. I also had just seriously started playing with NHibernate when Linq2Sql and the Entity framework came out. Same with lambdas and all that goodness. They seem to bring stuff out just as people are saying 'hey, this is a really good idea'. I don't see that happening in Java. They get it wrong sometimes, like their over engineered SOAP solution which personally I think contributed to its downfall. Also WCF and WF are both pretty shitty.

2. I think a lot of the other tools is because Java came out first so some of these problems were were already solved when it came to .Net, so we got nant, etc. I personally have never worked on a project where something like Maven seemed worth it comapred to some slight customisations to MSBuild which you can do in VS, so can't comment on that.


You nailed it. The other thing is that .NET devs generally aren't framework devs. They're app devs.

With that said, there are some nice frameworks that exist, but competing against the top framework vendor, Microsoft, is tough. And while most on HN won't understand this, most .NET devs are actually quite happy with what MS is doing -- and most generally feel like MS actually does listen to the dev community.


Is NAnt still around? I thought MSBuild caught the wind and run with it.

I think you're onto something with your statement that Maven might not worth in .NET since there aren't many 3rd party libraries that you would include to your project. That is probably tied to point #1: relying on Microsoft to provide everything.


RavenDB http://ravendb.net/ is an excellent document database written in .NET. It leverages lots of LINQ and C# 4.0's dynamic abilities to provide a really clean API. I'm sure it'll soon be taking advantage of the new async stuff coming in C# 5.0 as well.

It's open source as well. Well worth a look.


I heard about RavenDB but doesn't seem to gain a lot of followers among .NET developers. MongoDB seems to be the choice for .NET communities.


As a .NET dev, I have to kind of agree with you. While I have been quite pleased with the evolution of C# over the years and am stoked about F#, MS's involvement in Node.js, ASP.NET MVC, etc., I can't say that about the .NET developer community.

For the most part, the .NET devs I know just don't care to be involved in community open source projects and/or use those projects as much as you see with other stacks. I do see that changing quickly though.

However, it is nice to see this new respect for MS I'm seeing from non-MS developers lately. Just a few years ago it was pretty depressing, but that seems to be changing.


A few of points:

1) Perhaps you don't use .NET a lot so maybe you're not as aware of all the great tools that are available (open or commercial).

2) .NET developers are more likely to be commercially minded. In other words, their tools aren't always free.

3) There really are a lot of great tools. Check out RedGate, JetBrains, Telerik or DevExpress .NET tools among others. CodeSmith. CruiseControl.NET. See also http://visualstudiogallery.msdn.microsoft.com/ .




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: