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

You're exactly right, those are .NET problems not specific to a language, and not really problems for a hacker. There are multiple open source ORMs that take full advantage of the language features (like LINQ) and aren't subject to MS's whims.

I think that "constantly balooning specification" is an overstatement. Look at the release timeline:

  - 2002: Version 1 (with VS.net 2002)  
  - October 2005: Version 2 (with VS2005)  
  - November 2007: Version 3 (with VS2008)  
  - Oct/Nov 2009 (I'm guessing): Version 4 (with VS2010)
Four versions over that span is hardly "constantly balooning". The .NET framework revs slightly more often with SPs, but major versions are on about the same pace.


I don't think the time-line has as much to do with it as the scope of the changes do. Again, this is personal opinion; and I'm speaking from the angle of someone who has spent many years doing consulting work on the Microsoft stack, and having to deal with figuring out which ways the 9-to-5'ers are going to break things next.

Version 1.0 of the C# specification clocks in at 405 pages. There was an addendum in 1.2 that I'll leave out, because it was a respecification of 1.0.

2.0 came along and added 117 pages of specification - including generics, partial classes, iterators, and a handful of other things. On pure specification, that's a growth of 25% to the core language. (I know this isn't really scientific, but I think you get my drift).

Then in 3.0, just 2 years later, the spec is back to over 500 pages (just for the language!). This version added a bunch of functional paradigm stuff to the language, lambdas, linq and the like.

And now in 4.0, they're talking about making C# essentially a dynamic language.

Now, all this being said, I really do like C#; but I think that it behooves everyone who likes C# to admit that it's a large and evolving language; the paradigms that Microsoft keeps adding to the language don't really seem to fit from one version to the next.


This is one area where I think MS gets a bad rap. If they didn't keep adding new stuff, everyone would complain that they were stagnant and falling behind the times. So they add popular new features to C# like lambdas and such, and now they're bloated.

4.0 will not essentially be a dynamic language. They're making it much easier to interop with dynamic languages by adding some dynamic constructs, but it's still as statically typed as ever. 'dynamic' is a shortcut to save you time, not re-invent how you work with C#.


Not going to argue either way (I do like both Java and C#, choosing one over the other depending on what I want/need to do)... but don't you think most enterprise languages mature over time too?

Java seems to be no exception: http://en.wikipedia.org/wiki/Java_version_history




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

Search: