Hacker News new | ask | show | jobs
by untog 3907 days ago
If you're wondering why you are being downvoted, everything you've stated so far has been opinion with no facts to back it up. Why do you think Ruby is more productive than C#? From my position (as someone who has worked with both lightly, but not extensively) I don't see it - things like LINQ in C# are enormously productive.
1 comments

I'm not wondering, I've been around the block long enough to know how the upvote / downvote convention works. I'm actually surprised I'm not being downvoted more.

Dynamic typing adds an entire layer of depth to the things you can do with tooling, over and on top of what you can do with reflection. If I don't know what's going on in a web app, I can load it up in a developer console, get right to where it's going wrong, and start inspecting everything I can see, even looking up the source code of the methods, whether in my app or in the framework, right in the REPL.

You mention LINQ, that makes C# dev bearable by cutting down on the syntax you need to do basic functional programming. I wouldn't call it "enormously productive".

I don't want to argue over what "enormously" means, but LINQ is a big boost for productivity, and it's not just LINQ-to-Objects, but also LINQ to SQL, and extensibility thanks to expression trees.

And LINQ isn't an isolated example. There's an asynchronous solution for asynchronous programming built in the language (async/await since C# 5.0).

There's reactive programming - RxJava is most popular these days, and most major languages have their RX thing now, but it was in the .NET world where Reactive Extensions saw the daylight for the first time.

Or MVVM (10 years later, Google began introducing it to Android, though it's not production-ready yet).