Hacker News new | ask | show | jobs
by czechdeveloper 3209 days ago
Why shill. It's just great tool. I love lots of what MS does. I still consider C# best language I ever learned.
5 comments

I loved c# 10 years ago but have a few issues with it these days:

* functions not really being first-class citizens * great collection methods with LINQ, but why did they give them such weird names? (map = select, filter = where, reduce = aggregate?) * took them a while to come up with a great async model (async/await), so legacy c# asynchronous code can be hard to figure out at first

Just my opinion but it seems like more recent languages like Swift have done a better job implementing ideas from functional programming. It's still light years ahead of Java to me though.

>but why did they give them such weird names? (map = select, filter = where, reduce = aggregate?)

SQL.

C# is a great language no doubt (been using it professionally since the early 2000's) but it always felt sluggish when creating complex forms and handling events in those forms where Delphi, C++/Qt and even Lazarus feel much faster.
> I still consider C# best language I ever learned.

Thus you clearly have not learned F#, nor any other (superior) Standard ML descendant (e.g. OCaml or Rust).

(Why is F# inferior, you ask? CLR interoperation requires using types and datastructures defined in C# code, which overall mean that you will use an unidiomatic style. Hence, F# is basically "a usually-less-annoying C#", unlike other SML-likes. Except Scala, whose best description is "F# on the JVM".)

> I love lots of what MS does.

Does this include the Embrace+Extend+Extinguish strategy?

And how does anyone, other than via sheer forgetfulness, think that Microsoft doesn't have similar nefariousness on today's drawing board? The revelation of the 3E strategy showed they are inherently and absolutely untrustworthy.

They said "lots of," not "all" or even "most."

It's a big company, and they are not 100% evil because no company is 100% anything.

And honestly, I believe any company with a stranglehold on any market will behave badly. Rather than being salty at Microsoft in particular, let's make sure no company ever has such a stranglehold on computing again.

I didn't claim that Microsoft was unique in anything but the 3E strategy itself.

Actually, what with Google duplicating more and more of Android's core open-source functionality into their proprietary apps and then leaving the open-source code to rot ... Microsoft isn't unique in that way, either.

But more importantly...

> let's make sure no company ever has such a stranglehold on computing again.

That's a long road ahead, since Google has a monopoly on the average user's very mind. And don't forget that Microsoft hasn't lost their stranglehold either, except among programmers and similar personnel. They may be behind on mobile, but they've held onto largely the same markets+marketshares that they had in the late 90's (plus more, though not at monopoly scale, thanks to Azure), and desktops+laptops won't be dying anytime soon.

try F#