Linked by Thom Holwerda on Mon 20th Jul 2009 15:54 UTC, submitted by Brandon L
Mono Project As you would have guessed, the Mono debate is long from over. Two weeks ago, Microsoft extended its legally binding and perpetual community promise to cover the C# and CLI ECMA standards, which was generally seen as a good thing for Linux-centric fans of the C# language as well as for the Mono project. The FSF has responded now, and it isn't too impressed with Microsoft's move.
Thread beginning with comment 374247
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[2]: Who wants that crap anyway?
by tuttle on Mon 20th Jul 2009 21:10 UTC in reply to "RE: Who wants that crap anyway?"
tuttle
Member since:
2006-03-01

"Another example: core .NET interfaces such as IEnumerable<T> are not in the system namespace but in the System.Collections.Generic namespace. So either you always use the long type name System.Collections.Generic.IEnumerabe<T>, or you always import all the crappy and badly named default collections of .NET.


I can only assume this is a prime example of how behind the times Visual Studio is compared to just about every Java IDE. Are you telling me you can't just type in the class and have a pop-up option automatically let you import it, without your hands leaving the keyboard or your cursor leaving the position? IntelliJ, NetBeans and Eclipse have had that feature for years....
"

Of course there is code completion. But code completion and automatic code generation does not make the code easier to understand.

The issue I have is that core interfaces like IEnumerable<T> are mixed with the collections library that I do not want to use.

This is just one example out of hundreds for bad design decisions.

Reply Parent Bookmark Score: 2

Moochman Member since:
2005-07-06

What do you have against the collections library? It's not like you need to import the whole thing, you only import the classes you need.... So why bog down the System namespace with this stuff (since that's essentially equivalent to importing it by default).

Reply Parent Bookmark Score: 2

tuttle Member since:
2006-03-01

What do you have against the collections library?[q]

The collections library is incomplete (almost no concurrent collections, only recently added a set class. No interface for sets, confusing and inconsistent naming).

[q]It's not like you need to import the whole thing, you only import the classes you need....


The using statement does not work for generic classes or interfaces. Try importing just System.Collections.Generic.List<T>. It is not possible.

So why bog down the System namespace with this stuff (since that's essentially equivalent to importing it by default).


Because IEnumerable is used everywhere. There are various language features (foreach, yield, LINQ) that depend on IEnumerable. So it is a core interface just like System.Array is a core class.

And the system namespace is bogged down with lots of less important stuff like the obsolete MarshalByRefObject and other remoting-related classes.

Reply Parent Bookmark Score: 3