|
|
|
|
|
by shouldbworking
3349 days ago
|
|
Since Java is the most similar language and what I'm familiar with, here's some things where no C# equivalent exists: Lucene,
Guava,
Apache Commons,
Redis driver,
Postgres driver,
Cassandra driver,
Kafka driver,
gRPC,
Http2 support(on all platforms, not just windows 10) Notice I said "equivalent". C# ports exist for some of these but they're unofficial, unmaintained, or both. The most heinous thing I've seen MS do recently is only support Http2 on newer versions of Windows. Http2 is a high level protocol and there's absolutely no reason for this. In Java you can use Http2 on any platform using Jetty, Netty, or soon built into Java 9. |
|
I am not properly familiar with Guava, but aren't most things available in .NET's collections classes?
A lot of what's in Commons is available in the .NET BCL.
https://redis.io/clients#c looks fine to me (I'd probably pick the StackExchange client)
NPgSQL seems to be the recommended library for Postgres.
https://www.nuget.org/packages/CassandraCSharpDriver/ was updated in February.
https://github.com/Microsoft/CSharpClient-for-Kafka starts to show some of the issues you're talking about - Microsoft aren't supporting this one anymore, but they point to https://github.com/confluentinc/confluent-kafka-dotnet which wraps librdkafka - seems sensible
I'll definitely give you a point for the HTTP2/IIS issue - although there might be more technical reasons than you think for that. From what I recall, a lot of NET and Windows HTTP stuff is implemented in http.sys or WinHTTP which is a low level component. They're not going to ship a large update to anything before Win10, so that's probably why it's missing. In this case I'd just run nginx in front of IIS if you needed to, but I'd hope that most people running IIS in production can afford to update to Windows Server 2012 or 2016.