News for hackers. Stuff that matters.
Re:Welcome to C# 9.0 by Koshkin on Wednesday May 20, 2020 @02:36PM (#23250196)
How does the .NET ecosystem fare these days compared to Java's? Whatever the differences between the languages, on the surface of things it looks like one must be insane not to use Java: https://projects.apache.org/projects.html?language
Re:Welcome to C# 9.0 by Someone1234 on Wednesday May 20, 2020 @02:50PM (#23250353)
You'd be insane because a major Java project maintainer contains a lot of Java..? That's like pointing at Microsoft's github repo and saying you'd be insane to use anything but C# and TypeScript.

Personally I think this is a better source: https://octoverse.github.com#top-languages

Or this: https://insights.stackoverflow.com/survey/2019#technology

Re:Welcome to C# 9.0 by The_rationalist on Wednesday May 20, 2020 @03:13PM (#23250588)
The number of repository is not the important metric that apache has. What matter is to have at least one industry grade™ open source library for anything™ Most of apache libs are each ~20000 commits This amount of human resources is unmatched in any other platform.
Re:Welcome to C# 9.0 by loic-sharma on Wednesday May 20, 2020 @02:43PM (#23250284)
Apache is somewhat Java centric. I wouldn't use that as a measure of a language's ecosystem. For example, JavaScript has an enormous ecosystem but only 17 Apache projects.
Re:Welcome to C# 9.0 by The_Colonel on Wednesday May 20, 2020 @04:12PM (#23251215)
Apache is Java centric, but as a developer in both Java and .NET it's impossible to not notice that Java ecosystem has much more independently developed projects while .NET world is still largely defined what MS provides as libraries.
Re:Welcome to C# 9.0 by oaiey on Thursday May 21, 2020 @02:47AM (#23255522)
Ignoring the flawed comparison, the Java ecosystem is better. However, recently, I see first class providers for .NET popping up with most project and the ecosystem growing dramatically. It is no longer a showstopper, it is more a reduced choice situation.

What .NET still is not really good in, is first party apps. There is no Kafka or Kubernetes programmed in .NET.

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.

Re:Welcome to C# 9.0 by runT1ME on Wednesday May 20, 2020 @04:40PM (#23251502)
I think this is a valid point, two projects I'm making heavy use of are both ScyllaDB and Apache Beam. Neither have C# as a supported language.

Many big projects roll out drivers for the JVM (Java/Scala/Kotlin compatible), Python, and Go first. I agree that C# is a 'nicer language' than Java, but at this point, that doesn't make up for the lack of ecosystem.

Re:Welcome to C# 9.0 by FpUser on Wednesday May 20, 2020 @07:37PM (#23253304)
There is nothing insane here. All depends on context. Games are known to be developed in C# and the amount of those dwarfs Java's counterpart. There are other areas with the affinity of "insanity" leaning either way.
Re:Welcome to C# 9.0 by Koshkin on Wednesday May 20, 2020 @09:33PM (#23254004)
Amazing Princess Sarah vs. Minecraft, sure.
Re:Welcome to C# 9.0 by ciwolsey on Thursday May 21, 2020 @11:37AM (#23259696)
Not sure if you're knocking C# credentials as a games programming language but if you are you're wrong to do so.