3 ms·
My thoughts as someone who's been full time on C# for the last 5 or so years: Case 1 - His examples are toys, I don't think there's really an argument here.
by barrydahlberg 16y ago
My thoughts as someone who's been full time on C# for the last 5 or so years:
Case 1 -
His examples are toys, I don't think there's really an argument here. Better examples might convince.
Case 2 -
This is less about the language and more about the tools and the culture. The ecosystem in C# land is focused much more heavily in the business / enterprise direction which personally I hate. Point to Ruby.
Case 3 -
Half a point maybe. The .Net library is actually pretty good and each version of C# brings the language a step closer to the sort of concise code he shows. You can certainly get very close with a few wrappers here and there.
Case 4 -
Meta Programming, oh yes. 10 points to Ruby. It has been said elsewhere that C# doesn't have meta programming because it was designed to be predictable for whoever has to read it. In practice this seriously restricts our ability to express certain types of concepts that don't fit the basic OO model. Aspect oriented programming and mix-ins are the two currently frustrating me.
We try to tackle this with all sorts of hacks (e.g. PostSharp, mangling .dlls after compilation) but they don't fit well with the rest of the tools.
This means lots of boiler plate repetition we can't kill. Microsoft likes to use code generation for this which I also hate.
- mathgladiator 16y agoC# has some meta-programming with the addition of closures and good polymorphism. Check out how http://kayakhttp.com/ http://kayakhttp.com/ uses them to build a fairly sophisticated async web server.