News for hackers. Stuff that matters.
Re:Google joins .NET Foundation as Samsung brings .NET suppo... by serge2k on Wednesday November 16, 2016 @12:28PM (#12969231)
The transition from Java to C# is pretty easy and pleasant as C# is similar but better.
Re:Google joins .NET Foundation as Samsung brings .NET suppo... by bottled_poe on Wednesday November 16, 2016 @10:00PM (#12973870)
> C# is similar but better

Oh really? Why?

Re:Google joins .NET Foundation as Samsung brings .NET suppo... by naasking on Thursday November 17, 2016 @10:19AM (#12978147)
Better operators, properties, lambdas, a standard library that exploits lambdas pervasively, type inference, simple generators and async/await.

Java has anonymous classes and static interface members as the only real advantages over C#.

Re:Google joins .NET Foundation as Samsung brings .NET suppo... by invalidname on Thursday November 17, 2016 @02:28PM (#12980606)
I work a lot with Java and C# and you just described the reasons I prefer Java (which FYI has lambdas today).

The async/await API's and their rigid nature was torture and the language was overly loose as if users asked for everything and got it... The reason I left C++ for Java 20 years ago is the things it removed and discarded (e.g. operator overloading) C# to me is a step back in the direction of "everything but the kitchen sink".

Re:Google joins .NET Foundation as Samsung brings .NET suppo... by naasking on Thursday November 17, 2016 @05:32PM (#12982371)
> The async/await API's and their rigid nature was torture

Way better than callback hell. The only awkwardness surrounds streams of tasks.

Operator overloading is a necessity. Matrices, big integers and so on, all require the familiar operators for clear code. Type inference is here to stay, and every new language has it. The fact that every language is also trying to adopt a streaming API like LINQ should also tell you something.

I'm afraid you're on the losing side of history on all of these points. C# does include a lot, and I would certainly prefer a single uniform abstraction to handle many things, ie. generators and async/await can be unified under coroutines or something similar, but the proliferation of "kitchen sink" features is not nearly as bad as you imply.