News for hackers. Stuff that matters.
Re:Welcome to C# 9.0 by shanemhansen on Wednesday May 20, 2020 @02:59PM (#23250442)
.NET ecosystem is large, but still windows-centric. If I was choosing between java and C# for a startup, I'd definitely consider C# because it does seem to be a better java (properties and LINQ are the first 2 things that come to mind).

But realistically if you're not doing .NET on windows, you're still an early adopter who's going to run into weird issues that you won't have to deal with on java.

Re:Welcome to C# 9.0 by eitland on Wednesday May 20, 2020 @03:43PM (#23250904)
> But realistically if you're not doing .NET on windows, you're still an early adopter who's going to run into weird issues that you won't have to deal with on java.

As someone with background from Java but who has worked a lot with .Net Core lately, I guess it might depend on what part of .Net you talk about.

.Net Core worked extremely well on Linux for all use cases I saw, mostly web applications, cli tooling and batch/queue processing. I cannot remember a single case where we had actual problems because of Linux.

In fact, FWIW for small console applications it ran extremely much faster on Linux than on Windows, on the same hardware.

Re:Welcome to C# 9.0 by jayd16 on Wednesday May 20, 2020 @03:47PM (#23250949)
Deep code profiling of the JVM is still a lot better than Linux .NET Core. I still like C# though.
Re:Welcome to C# 9.0 by eitland on Wednesday May 20, 2020 @03:55PM (#23251029)
Probably, haven't tried really on .Net but Java is awesome.

Another point where it is really hard to get people to actually understand the magnitude of the difference is in IDE support, what exists and what you get out of the box.

I mostly enjoy programming in .Net Core a lot but there are times when the difference becomes extremely visible.

Re:Welcome to C# 9.0 by jayd16 on Wednesday May 20, 2020 @04:15PM (#23251241)
Agreed. I'm very happy with it as well. MS seems very keen on this so at least for now it feels like everything is progressing even if its not currently perfect.
Re:Welcome to C# 9.0 by u7u7h on Wednesday May 20, 2020 @03:05PM (#23250508)
> windows-centric

.NET 5 is going to change this completely. .NET Core has already changed.

Re:Welcome to C# 9.0 by shanemhansen on Wednesday May 20, 2020 @08:10PM (#23253521)
I was referring to the ecosystem (libraries that are commonly used that might only work on windows). I've had trouble for instance finding cross-platform GUI toolkits that support linux. Microsoft's newly released toolkit doesn't.
Re:Welcome to C# 9.0 by The_rationalist on Wednesday May 20, 2020 @03:08PM (#23250537)
The point of C# being a better Java is nowadays mostly obscolete because of Kotlin being THE better Java. As for LINQ see https://github.com/mythz/kotlin-linq-examples/blob/master/RE...
Re:Welcome to C# 9.0 by foepys on Wednesday May 20, 2020 @03:24PM (#23250694)
Why don't people understand that LINQ isn't just a C#-ish way to write SQL-like statements? So many people are comparing their libraries to LINQ without understanding what it actually does.

LINQ brought System.Linq.Expressions and IQueryable to .NET which allows so much more than just filtering and grouping data. You can write entire data providers with LINQ and parse arbitrary expression trees in any way you like.

Entity Framework (Core) utilizes this very well. It doesn't just query an SQL database and then use LINQ's Where, Select etc. to manipulate the data but parses everything the developer has written to an expression tree and then generates an SQL statement at runtime.

Re:Welcome to C# 9.0 by scarface74 on Wednesday May 20, 2020 @05:36PM (#23252094)
And the Mongo Linq library is often. For $reasons I worked on an implementation that had to support Sql Server and Mongo. The models and the Linq expressions worked across both and were translated appropriately. We just passed around a bunch of

  Expression<Func<T>>
Re:Welcome to C# 9.0 by snuxoll on Wednesday May 20, 2020 @03:14PM (#23250598)
Any of the otherlang-linq projects miss the forest for the trees, the whole point of LINQ is that it's not a set of chain-able methods on IEnumerable - providers get access to the expression tree and can use them to do all sorts of crazy things (see: EntityFramework, Linq2Sql).

I love Kotlin and I don't really get a hankering for LINQ when I'm using it, but I wish people would stop trying to say "but we can do that too!" when they really can't.