4 ms·
"Did you know that C# has: lambdas, closures, optional duck typing, first-class functions, better generics than Java, and type inference that is sometimes spook
by jschrf 16y ago
"Did you know that C# has: lambdas, closures, optional duck typing, first-class functions, better generics than Java, and type inference that is sometimes spooky?"
I did know that, and these things heavily factor into why I default to C# for most projects these days! .NET 4 is awesome.
C# is an excellent language. It has all these great things, yet doesn't feel polluted or bloated at all. I absolutely love lambdas, closures, and generics. They help write concise and clear code. Generic support in C# and F# and the CLR itself is brilliant.
Writing event-driven, asynchronous IO code in .NET code is a breeze. It seems like the current programming trend around these parts is focused on "iterating fast" and having async IO. C# gives me both of these things, with the bonus of having the compiler catch most of my errors.
I disagree with the general notion that duck-typed languages are more empowering or let you iterate faster than strongly typed languages.
If you think that a language that is lazy (or worse, unspecific) about types lets you write code faster, I think that you have some fundamental problems with how you approach development.
The whole dynamic languages = faster code production is an unsettling school of thought, in my opinion.
- charlieflowers 16y ago"If you think that a language that is lazy (or worse, unspecific) about types lets you write code faster, I think that you have some fundamental problems with how you approach development. The whole dynamic languages = faster code production is an unsettling school of thought, in my opinion." Well, that's what I used to think too. The million dollar question is ... have you tried it? I did a heavy Javascript project recently, and I was amazed at how much faster I could go from a vision of a complex solution to having that solution implemented.
- nlawalker 16y agoWriting event-driven, asynchronous IO code in .NET code is a breeze. It's about to get even breezier: http://msdn.microsoft.com/en-us/vstudio/gg316360 http://msdn.microsoft.com/en-us/vstudio/gg316360