News for hackers. Stuff that matters.
Re:Microsoft's office: Why insiders think top management has... by kenjackson on Thursday April 07, 2011 @02:59PM (#2420754)
I think in general we agree -- you just have an insider perspective so you can see some of the strings that I can't.

The only big contention is "In what ways is C# ahead of its peers in the industry?" This comes down to a language war where there is no winner, but the way C# has put together great feature sets around key scenarios. Generics done right, much improved co/contravariance, nice lambdas, dynamic support which is actually pretty useful, extension methods, and of course async. While async exists in some languages, it doesn't exist in what I'd consider peers (other popular languages) from Common Lisp, Python, Ruby, Java, C/C++, and Javascript. And frankly, I think this probably isn't all that important -- and more religious than anything else.

But I am curious about one thing you said, A big part of what I did before I left was prove that most people don't understand how to use VS. Moreover, there's a lot you don't see - all of the failed attempts to do things even more amazing than async.

Could you expand?

Re:Microsoft's office: Why insiders think top management has... by mattmanser on Thursday April 07, 2011 @06:55PM (#2421563)
There's a big difference between the c# language team and visual studio. The c# language has left java for dust, they are doing a bloody brilliant job but on the other hand were essentially playing catch up with python and ruby until 4.0. The dynamic CLR stuff has really changed the game.

VS, on the otherhand, has stagnated, between 2005 and 2010, apart from integration with the new hotnesses like Silverlight, MVC and LINQ, I can't really point out any improvements. While I must admit I love MVC over ASP.Net (keer-spit), even now you feel the meddlers interfering and making it do unnecessary magic.

Its javascript integration is still shockingly bad. It doesn't even highlight brackets or braces and the auto-indenting is erratic. Javascript is so key to web programming these days and yet for the first time I find myself juggling VS with Notepad++ because that free open-source program is actually a lot better.

Re:Microsoft's office: Why insiders think top management has... by altano on Friday April 08, 2011 @12:17AM (#2422430)
"Its javascript integration is still shockingly bad."

Sooooo very shockingly bad. =(

Re:Microsoft's office: Why insiders think top management has... by guelo on Thursday April 07, 2011 @09:17PM (#2421977)
C# programmers are always bragging about how generics are so much better than Java's. But when I've looked at the common day usage cases they're really about the same. I know about the type erasure issue but unless you're doing some crazy reflection stuff it never comes up. I'm not trying to start a religious war here but what is it that in practice makes C# generics so much better than Java's?
Re:Microsoft's office: Why insiders think top management has... by kevingadd on Thursday April 07, 2011 @09:38PM (#2422016)
The lack of erasure means that you can use generics to do sophisticated type magic, sort of like in C++ templates - specifically using reflection. You don't usually want to do this too much, but doing it in one or two places can simplify code tremendously. This also allows you to eliminate boxing and reflection overhead in a lot of places by letting you use generics to bind to reflected types/members at runtime, which is really important if you're trying to build a performant app in C# that's got extensibility support.

For example, I use this to create strongly-typed bindings to individual fields/properties of class instances at runtime, which lets me pass around objects of types like 'BoundMember<int>', and generically store into them - essentially the same as 'ref int', except it can outlive function scope. This is really useful when doing asynchronous programming, and it lets you kill duplication when building things like configuration dialogs.

Re:Microsoft's office: Why insiders think top management has... by guelo on Thursday April 07, 2011 @10:43PM (#2422188)
Hmm, sounds like what I said with "unless you're doing some crazy reflection stuff ", and it sounds like a solution that reduces the readability and maintainability. But maybe I'd need to see a good example to appreciate it.
Re:Microsoft's office: Why insiders think top management has... by ootachi on Thursday April 07, 2011 @10:58PM (#2422224)
Easiest example: You can do "instanceof T" with generic T in C#. You can't in Java.
Re:Microsoft's office: Why insiders think top management has... by kenjackson on Thursday April 07, 2011 @11:27PM (#2422290)
Take a look at: http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Java#...

Good examples there of the differences.