Live data from Hacker News

Google joins .NET Foundation as Samsung brings .NET support to Tizen

techcrunch.com

191–200 of 341 posts

Re: Google joins .NET Foundation as Samsung brings .NET support to Tizen

#191
post #53
post #33

Earlier quoted context omitted.

It would be worth it just to have LINQ

Why? The Java Stream API is superior to LINQ in every way, and a lot more extensible. EDIT: Instead of downvoting, please point out how LINQ is actually superior?

the Stream API is nice, but it is not extensible. I guess you have mistaken LINQ with the SQL style LINQ queryes, but it is actually a pack of feautures, the basis of all is the Extension Methods. Every LINQ query is just syntactic sugar for composed of some extension methods to IEnumerable. Without that LINQ is a bunch of extension methods giving an extensible fluent API much like the Streams API, but with true extensibility.

How do you extend the the java Stream API? for LINQ you just drop in a few extra extension methods for IEnumerable, IOrederedEmumerable, IQueryable, etc.

How do you reverse a stream in java? (I know you need to evaluate the whole stream for that) You can write a utility method, but that will break the fluent readable logic. In C# you can do the very same thing, with the same method usable as an extension method keeping the readable fluent expression.

Starting a stream is a PITA itself, as it differs for Iterables, Arrays, Collections... Been there, done that. Not that with some utilities these could not be overcome, but it was an inferior experience to LINQ.

Re: Google joins .NET Foundation as Samsung brings .NET support to Tizen

#192
post #149
post #111

Earlier quoted context omitted.

Java the language versus C# the language.

Same question. What advantages does C# the language have vs Java the language? Do people perceive Java as playing "catch up" with other languages? e: I only ask because I've always heard the opposite.

I prefer LINQ and C# lambdas to Java 8, but beyond that.

Type inference, properties, extension methods, operator overloading, p/invoke vs JNI (plus C# has better unsafe code support), structs, reified generics, async/await

Re: Google joins .NET Foundation as Samsung brings .NET support to Tizen

#193
post #70

Earlier quoted context omitted.

C# offers more support for memory friendly coding and performance than Java, which could ultimately improve Android's performance. Of course, this would only work if they switch languages, which I don't see the Android team doing willingly without upper management "help".

Do you have any metrics to prove your baseless assumptions?

They said "has support for", not "is".

This is a natural consequence of having value types (structs). You can even change the bit packing and other layout properties of structs.

Re: Google joins .NET Foundation as Samsung brings .NET support to Tizen

#194
post #69

Earlier quoted context omitted.

Dart doesn't have the adoption yet and has a different plan when it comes to mobile ( https://github.com/flutter/flutter ). I love Go, but it's not really a suitable language to do UI, or anything that deals with data models. C#, however, is a perfect replacement for Java, most of the times. I would say "it's simply superior in every imaginable metric other than cross-platform implementations of the compiler/VM" but…

Just go use Kotlin instead. Much nicer than C#, runs on any JVM.

In some ways it's nicely ahead of C#, but it's still missing some extremely desirable language features, namely async/await/yield.

Re: Google joins .NET Foundation as Samsung brings .NET support to Tizen

#196
post #60

Earlier quoted context omitted.

So, where do I get a version fo Visual Studio that’s open source, and works on Linux? And not just the little text editor VS Code, a real IDE? For most devs, Visual Studio isn’t a realistic option.

Well they just released a preview for VS on macOS. Project Rider by Jetbrains is a cross platform C# IDE. VS Code has some tooling. etc...

VS on macOS is Xamarin Studio rebranded, which Xamarin has never wanted to port for Linux (despite being a fork of MonoDevelop). I don't see MS changing that.

Project Rider is still extremely green and is not FOSS, nor free as in free beer.

VS Code is extremely limited and the little support it has is for .NET Core only.

I'm right now working on an MVC 5 project on Linux and I have to jump around MonoDevelop and Rider to have a workable dev environment; with the occasional jump to a Windows VM and Visual Studio to make sure everything works over there (it often doesn't).

.NET IS NOT a viable stack for developing on Linux and it's an inferior one in macOS. If you want to do real work with it you have to eat, breathe and live Windows and VS.

If I didn't absolutely have to work with .NET in this particular situation I would've laughed all my way back to a real cross-platform stack.

Re: Google joins .NET Foundation as Samsung brings .NET support to Tizen

#197
post #53

Earlier quoted context omitted.

Why? The Java Stream API is superior to LINQ in every way, and a lot more extensible. EDIT: Instead of downvoting, please point out how LINQ is actually superior?

the Stream API is nice, but it is not extensible. I guess you have mistaken LINQ with the SQL style LINQ queryes, but it is actually a pack of feautures, the basis of all is the Extension Methods. Every LINQ query is just syntactic sugar for composed of some extension methods to IEnumerable . Without that LINQ is a bunch of extension methods giving an extensible fluent API much like the Streams API, but with true ext…

> How do you reverse a stream in java?

By calling .reverse() on it, and making it iterate the other way around?

> extension methods

Extension methods are something that’s really really problematic, and easy to create confusion with.

That said, I’d just import the functions I want to call on the stream into my local namespace with import static.

Re: Google joins .NET Foundation as Samsung brings .NET support to Tizen

#198
post #91
post #59

Earlier quoted context omitted.

> So, yeah, go away because that's not contributing to the conversation. Well, maybe there’s another implication. Google switching to C# would lead to them neglecting and deprecating the Java ecosystem on Android. That’s gonna be real ugly for app devs, ending up having to rewrite everything. So, maybe, there is a real contribution in the comment, which you just haven’t seen yet?

I don't think anyone is suggesting Google should drop Java, just that C# should be made a first class citizen, side-by-side with Java.

Yet, that’s what’d happen. Google hasn’t even managed to support C++ alongside of Java as first class citizen, adding yet another one would make the situation even worse.

Re: Google joins .NET Foundation as Samsung brings .NET support to Tizen

#199
post #69
post #48

Earlier quoted context omitted.

Google have not made their own languages Dart/Go official to Android. Why would they make languages other than Java a priority now?

Dart doesn't have the adoption yet and has a different plan when it comes to mobile ( https://github.com/flutter/flutter ). I love Go, but it's not really a suitable language to do UI, or anything that deals with data models. C#, however, is a perfect replacement for Java, most of the times. I would say "it's simply superior in every imaginable metric other than cross-platform implementations of the compiler/VM" but…

Nothing can replace Java for android, unless it can also replace all the libraries current Android application is replying, which is the reason why I believe Google isn't going to switch off Java anytime soon.

Re: Google joins .NET Foundation as Samsung brings .NET support to Tizen

#200
post #83
post #69

Earlier quoted context omitted.

Dart doesn't have the adoption yet and has a different plan when it comes to mobile ( https://github.com/flutter/flutter ). I love Go, but it's not really a suitable language to do UI, or anything that deals with data models. C#, however, is a perfect replacement for Java, most of the times. I would say "it's simply superior in every imaginable metric other than cross-platform implementations of the compiler/VM" but…

Why do you consider Go unsuitable for UI development?

UI development is one of the areas where object orientation really helps encapsulate the code in smaller chunks that are easy to map mentally to the graphical representation. I'm not sure Go's interfaces are as powerful of an abstraction.

Mind you, there might be an opportunity there for developing a different kind of UI paradigm where interface elements don't map to objects and actions are the main driver of screen updates. Anyone has any ideas of such a paradigm?

Post reply on HN