C# 3.0: Lambda expressions. I don't like it that much....
http://blogs.msdn.com/b/abhinaba/archive/2005/09/17/469568.aspx
From 2008, regarding Jon Skeet's book's love for them, with reply by Skeet:
Lambda expressions: Dangerous Madness
http://bytes.com/topic/c-sharp/answers/829866-lambda-expressions-dangerous-madness
From 2010 on StackExchange, upvoted 33 times:
Does the usage of LINQ and Lambda Expressions lead to less readable code?
http://programmers.stackexchange.com/questions/24940/does-the-usage-of-linq-and-lambda-expressions-lead-to-less-readable-code
https://www.google.com/search?q=lambda+expressions+suck&oq=lambda+expressions+suck
http://www.google.com/trends/explore#q=Lambda%20Expressions
July 2007 is when it hit big, but seems to have hit India before the US, which doesn't spike until January 2008.
===================
The first one, from 2005, at one point says these gems:
Why I don't like lambda expression in C#
C# has originally developed from C++ /Java and is (was :^) ) a strongly typed object-oriented language. The new features being introduced like closure, continuation (yes, yes very limited continuation) in C#2.0 and now type inference, lambda expressions are de-generating the language. Even though there are people go gaga aboutcontinuation and lexical closures these are fundamentally functional language features and should be left to that. Introduction of bits and pieces of functional language features are not going to add value to C# and at the same time the surface area of C# is growing beyond what most developer can grasp.
Every language has a domain of application and an audience. Most people who work in C# developing web-services and web-based applications today are not necessary computer science grads. For them these concepts are a huge variation from the way C# used to behave. Functional programming is for the academia and not from the industry and should be left as such.
If I am asked, whether I'll use these language features, my answer will be maybe, and that is because the code written by me will be reviewed and maintained by people in MS who are fairly conversant with these. However, I think these features add burden to the learning curve of people who are not super interested in C# and should be avoided in favor of easier language constructs’ that might take couple of lines of code more, but would be more readable and maintainable.
These are just my opinions and I'm sure the designers of C# had given a lot of thought before adding them, but I strongly feel that these features are just adding more surface area to the language and will mostly go unused by the masses.
Some comments were like this:
" I think your comments about keeping C# "easy" so the web monkeys can understand it are off base. That's why we have VB.NET.
Keep VB simple and leave C# to the real developers."
Another good read:
No comments:
Post a Comment