6 ms·
What surprises me the most is that this project is developed in C#, while Dragonfly is developed in C++, and Redis is in C.
by west0n 3y ago
What surprises me the most is that this project is developed in C#, while Dragonfly is developed in C++, and Redis is in C.
- amir734jj 3y agoIf you look at the store code you see a lot of "unsafe" C# code (i.e pointer manipulation)
- zigzag312 3y agoShows how flexible C# is. You can trade high-level expressiveness for low-level control where needed and you don't have to deal with any FFI to do it.
- CharlieDigital 3y agoC# and .NET are both truly underrated in the wider community -- I think -- because of some early snafus. The late adoption of an OSS model, Windows-centric in the .NET Framework days, too dependent on Visual Studio for a very long time. Nowadays, I think it's probably the most natural language and platform for teams that need to move on from TypeScript rather than Go or Rust given the similar constructs and idioms.
- mdaniel 3y agoFor a while there I had high hopes that one could pull in Java libraries via their JVM interop on top of the Common Language Runtime, but it doesn't seem to have caught on and I'm not in that ecosystem enough to know why. But yes, for the many excellent reasons you cited it means the library ecosystem is nowhere near that of the JVM, and thus I haven't once considered .net for a new project regardless of how much I love C# the language. Well, that, and my experience with the observability and introspection components of the JVM are second to none
- CharlieDigital 3y ago> the library ecosystem I don't really see many gaps. There tends to be fewer libraries, but the libraries available generally feel more complete and well thought out because users tend to cluster around the known libraries. Many of the first party libraries are really, really good. EF Core is a prime example of possibly one of the best ORMs on the market right now in terms of productivity, ergonomics, and performance.
- mdaniel 3y ago> I don't really see many gaps isn't that the "works on my machine" of this discussion? What's the Apache Tika for .net then? I don't mean, pdf parsing, I don't mean .docx parsing, I mean a framework for interacting with all their supported types <https://tika.apache.org/2.9.1/formats.html https://tika.apache.org/2.9.1/formats.html> with one surface area?
- CharlieDigital 3y agohttps://github.com/KevM/tikaondotnet https://github.com/KevM/tikaondotnet ?
- mdaniel 3y ago> https://github.com/KevM/tikaondotnet/releases/tag/v1.17.1 https://github.com/KevM/tikaondotnet/releases/tag/v1.17.1 - Apr 3, 2018 You're right, how silly of me, I'll install some rando's 6 year old build of it right away. But in seriousness, that readme did remind me of the thing I was thinking of: http://www.ikvm.net/userguide/ikvmc.html http://www.ikvm.net/userguide/ikvmc.html
- CharlieDigital 3y agoMaybe your question is the wrong one to ask. My inclination is that a package or library that isn't actively maintained has no utility. If that's the case, then the assumptions underlying that package are perhaps not relevant. Personally, I'd say it is probably the case that there are better alternatives. Azure Document Intelligence being one of those. Sure, it can't handle the variety of formats, but again, we have to come back to the underlying assumptions: .docx, .pdf, and a few handful of formats probably covers 99% of business use cases. Everything else would be considered niche.
- ametrau 3y agoIt’s great but you’re locked into visual studio if you want the most out of it (they put 95% of their effort in tooling there). You want to use visual studio?
- CharlieDigital 3y agoI work in .NET on the daily on an M1 MBP using primarily VS Code and occasionally Rider. There's no need for VS for most (any?) .NET workloads these days. That's why I wrote it was an early mis-step. Nowadays, it's easy to do .NET dev on any platform. In fact, we ship our production runtime to AWS t4g (Arm64) instances.
- mtmk 3y agoI primarily use JetBrains Rider for my daily tasks, and I agree that while you can use VS Code or even Vim with LSP support for many projects, working with substantial ones such as the runtime or ASP.NET Core development might practically necessitate using Visual Studio. By the way, the Visual Studio Community Edition is available for free for virtually all projects I can think of, mainly for personal, non-commercial, or open-source usage. The license details can be somewhat unclear, but that's my understanding of it.
- ametrau 3y agoThe debugger is night and day vs visual studio. Not even comparable. Like 1% vs 99%. And there’s other tooling. It can be done, but it’s so inferior to VS that you might as well use VS.
- declaredapple 3y agoI assume it's similar to the 1 billion row challenge with java - C# and Java have sufficiently advanced VM's that they can compete with C/CPP performance - assuming you go out of your way to optimize for it. https://github.com/gunnarmorling/1brc https://github.com/gunnarmorling/1brc
- neonsunset 3y agoComparison between languages: https://hotforknowledge.com/2024/01/13/1brc-in-dotnet-among-fastest-on-linux-my-optimization-journey/#results https://hotforknowledge.com/2024/01/13/1brc-in-dotnet-among-...