dsimcha escribió:
== Quote from Christopher Wright (dhase...@gmail.com)'s article
Nick Sabalausky wrote:
"Andrei Alexandrescu" <seewebsiteforem...@erdani.org> wrote in message
news:gus0lu$1sm...@digitalmars.com...

I've repeatedly failed to figure out the coolness of C#, and would
appreciate a few pointers. Or references. Or delegates :o).
Outside of this group, I think most of the people considering C# really cool
are people who are unaware of D and are coming to C# from Java. What's
"cool" about C# is that it's like a less-shitty version of Java (and *had*
good tools, although the newer versions of VS are almost as much of a
bloated unresponsive mess as Eclipse - Which come to think of it, makes me
wonder - If Java has gotten so fast as many people claim, why is Eclipse
still such a sluggish POS?).

Compare C# to D though and most of the coolness fades, even though there are
still a handful of things I think D could still learn from C# (but there's
probably more than a handful that C# could learn from D).
Generics and reflection. Generics just hide a lot of casts, usually, but
that's still quite useful. And autoboxing is convenient, though not
appropriate for D.

What the heck do you need generics for when you have real templates?  To me,
generics seem like just a lame excuse for templates.

Yesterday doob reported a bug in Descent saying "when you compile your project and it references a user library that has errors, when you click on the console to jump to the error, it doesn't work". I said to him: I never thought a user library could have errors! How did this happen to you? He replied: "I found a bug in a template in Tango".

That's why generics doesn't suck: if there's something wrong in them, the compiler tells you in compile-time. In D, you get the errors only when instantiating that template.

Generics might not be as powerful as templates, but once you write one that compiles, you know you will always be able to instantiate it.

Reply via email to