Live data from Hacker News

.NET Orleans

dotnet.github.io

181–190 of 287 posts

Re: .NET Orleans

#181

Earlier quoted context omitted.

Very fast, statically typed, clean language design with features like LINQ for data operations and fantastic async support, cross-platform, comprehensive standard library, advanced ORMs like EntityFramework and NHibernate, easy deployment including docker/self-contained/single-file, build anything from web/mobile/desktop apps, best-in-class IDE and tooling, Blazor UI component framework running .NET in the browser, s…

> LINQ for data operations > advanced ORMs like EntityFramework and NHibernate I've used all of these. Rails' ActiveRecord blows all of them clean out of the water.

I suspect you haven't yet seen tge power of LINQ, it's not the chaining that is its point - it's the lazy evaluation. It's not at all limited to DB operations.

Re: .NET Orleans

#182

Earlier quoted context omitted.

Officially it's been pushed back. The priority has been the unification of all the different runtimes and platforms first, which is coming with the big .NET 5 release.

Is there a document describing this plan? Will this replace .NET Core, CoreRT, etc.? As someone who isn't a .NET developer, the sheer proliferation of runtimes and platforms is super confusing, and I can never remember what's what between, .NET, .NET Native, .NET Framework, .NET Core, Mono, CoreRT, etc. If this is getting cleaned up, that's great news.

Runtimes -> This runs the IL code, includes Mono, CLR, and CoreCLR. Mono was written by Miguel Icaza to support cross platform mobile development. CoreCLR is a new version of the CLR that supports .NET core code.

Libaries/Frameworks -> .NET core, .NET framework. Two different versions of the libraries, .NET Core is newer and cross platform but older technologies such as webforms can't run on it, .NET framework supports older technologies but isn't cross platform. Plenty of libraries are usable inside either framework.

Ahead of Time Compilation Technologies -> .Net Native, CoreRT, AOT

Most new devs don't have to know any of this to be productive. Just pick .NET core unless you need to use .NET Framework for backwards compatibility reasons.

Re: .NET Orleans

#183

looks like a healthy project judging by the stats [1], also a big list of users [2]. How big of a task would learning this framework be? Is the documentation good enough? Sounds like it could be a good option for a game's network backend. 1: https://github.com/dotnet/orleans/graphs/contributors 2: https://dotnet.github.io/orleans/Community/Who-Is-Using-Orle...

https://github.com/dodyg/practical-aspnetcore/tree/3.1-LTS/p...

I am learning Orleans at the moment. I've created about 12 sample projects in Orleans as I am learning the concepts. Most of the samples are very small and can be run in one program thanks to the ability to host Orleans and ASP.NET Core Web server together.

Re: .NET Orleans

#184
post #176

Earlier quoted context omitted.

Do you have some evidence or more substantive feedback? Because I can show you the techempower benchmarks which have it in 1st and 3rd place at over 7 million rps: https://www.techempower.com/benchmarks/#section=data-r19&hw=... I built an adtech platform doing millions of requests in 2010 in dotnet. Then I did it again doing billions of requests in 2012. Nothing else at the time other than java could come close with…

To be fair: .NET (Framework) was not fast in the past. It was not. It was really slow. It was exclusively on Windows, IIS, some worker module, piped through a Webforms optimized System.Web dll and most of that code not optimized for memory usage etc. But that is over with modern .NET Core. Nothing of above is valid anymore and the result is wicked fast as your link shows as evidence.

The webforms stuff was slow, but MVC was quicker and has been around for a long time, along with basic HTTP handlers. If you stepped down a 1-2 levels of abstraction, you could get very good performance.

But yes, those tricks are now obsolete and the platform is incredibly fast.

Re: .NET Orleans

#185
post #81

I spent some time learning dotnet core this year and with the slow-grind progress Microsoft has made it really does look like the technology stack might start to replace Java, Go, Rails, NodeJS, over the next decade. You can really feel Microsoft's experience in language development and enterprise software development coming together to provide better ecosystem ergonomics than other frameworks and toolchains. Specifi…

Is it as good as rails? When I run a rails new command, I can setup my postgres connection, nodejs and webpack libraries, rails core library in one command. Rails has database migrations with conventions i like - the timestamp and a file name that represents the action to be performed against the database (e.g. AddNameToBlogs) which that can also be rolled back. I also really like the Rails restful router which is st…

>I want to love .net core - I really like F#. Any other rails dev out there make the transition to .net core?

They're worlds apart. Rails is optimized for day 1, .net core is optimized for day 1000.

Re: .NET Orleans

#186

Earlier quoted context omitted.

> constant spaghetti of JS/Go. I've written a lot of Go and there are plenty of faults but I'm curious why you consider it 'constant spaghetti' apparently in the same class as JS.

Lack of higher-level language features requiring code duplication/generation, a lean standard library usually necessitating 3rd-party packages, and an utterly terrible module system and fragile tooling setup. Go is still far better than JS, but both are behind in modules, packaging and overall structure as compared to .NET. gofmt is nice though, more languages should have that.

For all it's other woes, I've had like 80% fewer issues with Go's tooling than .Net's.

- Getting packages installed: trivial

- Getting clean builds: trivial

- Build and run works near perfectly

In comparison .net seems designed to be used _only_ via Visual Studio:

- Why does it re-download the packages each time I ask it to build?

- Why does VS freak out sometimes when there's a terminal window left over from a previous run?

- Why does VS freak out so thoroughly when something changes under it.

- Sometimes it just caches your previous build and thinks it's perpetually broken no matter how many changes you make, restarting seems to be the only option.

- Getting dotnet tools to work from the command line (the way Cargo/Yarn/Julia/Pipenv/etc do) was a confusing affair fraught with instructions like "oh you've got to into this XML file and set these random configs and tell it where x/y/z dll is".

That's before we get to the whole disaster that is "add this as a reference to your project". No programming language has caused me quite as much frustration as C#/.net manages to.

Re: .NET Orleans

#187
post #177
post #156

Earlier quoted context omitted.

I have worked with .NET and Java since they exist, jumping between stacks either when moving between jobs or consulting projects, nowadays I tend to be more focused on .NET. Yet I don't see .NET getting on Java turf as much as many Internet thinks it can. It remains mostly a Windows stack (so many enterprise third party are yet to release Core stuff that is actually cross platform), and there are plenty of platforms…

"Mostly Windows" is a limited view. Most modern .NET developments end up in a docker/kubernetes Linux container. In the first year of .NET Core some shops did Windows deployments but now, that is long gone. But I agree. .NET will not replace Java or any other serious language.

Long gone? Only in some kind of SV bubble.

SharePoint and Sitecore are .NET Framework only. Only CSOM is Core and Sitecore just released their first Core support last month, and most enterprise projects ends up plugging into them.

Forms, WPF still have issues running on top of core, UWP is stuck on Core 2.1 compatibility and .NET 5 is focused on desktop deployments with UWP future uncertain.

Re: .NET Orleans

#188
post #156
post #81

I spent some time learning dotnet core this year and with the slow-grind progress Microsoft has made it really does look like the technology stack might start to replace Java, Go, Rails, NodeJS, over the next decade. You can really feel Microsoft's experience in language development and enterprise software development coming together to provide better ecosystem ergonomics than other frameworks and toolchains. Specifi…

I have worked with .NET and Java since they exist, jumping between stacks either when moving between jobs or consulting projects, nowadays I tend to be more focused on .NET. Yet I don't see .NET getting on Java turf as much as many Internet thinks it can. It remains mostly a Windows stack (so many enterprise third party are yet to release Core stuff that is actually cross platform), and there are plenty of platforms…

To back this up: so many open source tools are being actively written and maintained on the JVM (Kafka being the biggest one that springs to mind), apart from Unity, I don't really know anything that anyone (that isn't an enterprise Saas) uses that's written in .Net.

Re: .NET Orleans

#189
post #155

Earlier quoted context omitted.

Fast? #lolno

Do you have some evidence or more substantive feedback? Because I can show you the techempower benchmarks which have it in 1st and 3rd place at over 7 million rps: https://www.techempower.com/benchmarks/#section=data-r19&hw=... I built an adtech platform doing millions of requests in 2010 in dotnet. Then I did it again doing billions of requests in 2012. Nothing else at the time other than java could come close with…

In the plaintext category, in almost every other category it hardly ranks in the top 20

Re: .NET Orleans

#190
post #81

I spent some time learning dotnet core this year and with the slow-grind progress Microsoft has made it really does look like the technology stack might start to replace Java, Go, Rails, NodeJS, over the next decade. You can really feel Microsoft's experience in language development and enterprise software development coming together to provide better ecosystem ergonomics than other frameworks and toolchains. Specifi…

Disregarding popularity, why should I switch to C#/dotnet from PHP/Go/Ruby?

- Super fast

- C# and F# are constantly updated in coherently. They have been on a yearly improvement cadence for the past 5 years.

- It's easy to pick up. I wrote 300+ samples for ASP.NET Core (https://github.com/dodyg/practical-aspnetcore)

- It's really a fun framework to develop in.

Post reply on HN