Live data from Hacker News

.NET Orleans

dotnet.github.io

251–260 of 287 posts

Re: .NET Orleans

#251
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’m an ex rails dev (from about 2010, so a while back, but still)

ASP.NET MVC (which is now ASP.NET Core) is a fairly carbon copy ripoff of what rails was back then. Initially I was annoyed about this; there were efforts to run Ruby on .NET via IronRuby and thus get a nice rails-on-windows environment, and ASP.NET MVC came along and sucked all the wind out of that like a tent collapsing. Controllers, Views, Routing are all the same, and like rails can be reconfigured if you prefer.

Later on though, I’m happy with it. A new blank project doesn’t quite have all that stuff, but you can add the postgres driver, migrations, etc with a few lines of code.

You do lose out on all the more advanced Ruby meta-magic things that rails does like with_scope on ActiveRecord, but in exchange you get a 1000x performance boost, and static typing - especially now with null safety in C#8 is really helpful as your codebase grows. The productivity hit you take compared to rails is actually pretty minimal I think, and those other benefits outweigh that and some. I would chose ASP.NET core over rails for any web project at any time these days

Good luck!

Re: .NET Orleans

#252
post #132

Earlier quoted context omitted.

I'm incredibly interested in this. A daydream of mine is to create OSS infrastructure/SRE systems in .Net. F# if it makes sense. <3 F#.

F# is nice, but always felt like the ignored child whenever I've used it. If you like F#, why not just reap all the functional benefits and write it in Haskell, or Rust which has (arguably) just as strong a functional influence (minus the syntax) as F# does, with the benefit of a stronger type system, and better performance, and these days, probably a bigger community than F# as well.

Basically what Horusiath said.

I'm a big fan of C# and the .Net platform as well. Being able to mix C# code in a project is compelling. If C# had a strong native SSH(I'm aware of netssh, but something a bit more official/active) implementation, and a WinRM/Remoting implementation that wasn't hidden inside the Powershell project, I think there would be a .Net OSS tools explosion..

Re: .NET Orleans

#253
post #157

Earlier quoted context omitted.

Is Rails as fast as .NET?

I guess I'm being selfish as a developer and thinking about my own ergonomics and dev experience. Is Rails as fast as .NET? Probably not, but if it can serve web pages in under 200ms, it's fast enough.

Agree, and I wouldn’t trade rails for a perf boost if I had to go to a horrible Java web stack (or a horrible C# web stack prior to .NET core)

Right now though, the dev ergonomics and productivity of .NET core are not actually very far behind rails at all, so you can serve your pages in 2ms instead of 200ms without suffering for it.

In some regards actually, perf helps a lot. Running a large bank of tests for example - those are going to complete a LOT more quickly in .NET which means you can iterate faster and have a better dev experience

Re: .NET Orleans

#254
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.

The whole “serious language” thing is ridiculous. You are reading this on a web service originally developed using Paul Graham’s custom made-up dialect of LISP called ARC, which runs on top of Common Lisp.

It’s pretty much as far away from “serious language” as it’s possible to get, but here you are happily using it anyway.

Take your Gatekeeping and get in the sea, thanks

Re: .NET Orleans

#255
post #87
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'm pretty sure net core will remain for a long time in the enterprise world before making anything in the more open source / general public. It's 2020 I can't name a single server side known application built in net core.

contasimple.com one of the best invoicing and accounting applications on the cloud

Re: .NET Orleans

#256
post #38

Earlier quoted context omitted.

Academically (And, to some extent, practically speaking) Orleans Virtual actors aren't the same as Erlang (or Akka) actors. Major differences: - Normal actors are pretty flexible, can work in local or remote contexts. Orleans is probably best described as Sharded Actors, It's a 'guided' implementation of Actors compared to Erlang or Akka where you are given a toolkit and have to build out what you intend to do. - Orl…

> A stable and properly configured Akka Shard cluster will never have more than one of the same entity actor alive at a time. So you're telling me that during a network partition, Akka will somehow know that the entity actor is alive and well in (one of) the other partition(s) and won't start a new one?

As long as you configure things properly, yes. By 'configure things properly', basically make sure that your timeouts for the shard regions is longer than the time it takes to shut down the entities living on the node.

Also worth noting that depending on the pattern used to send to the entity, there is a possibility of dropped messages during such a case.

Re: .NET Orleans

#257

Earlier quoted context omitted.

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 previ…

Sounds like .net framework and visual studio. Have you used .net core and the cli?

I’ve used net core, I was attempting to use the cli, but thwarted at every turn.

Re: .NET Orleans

#258

Earlier quoted context omitted.

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

Just wait until .net 5 results show up ;)

Interesting, are there significant performance fixes in the mix?

I always got the impression .net was never particularly performance focused: there were some bits you could use if you wanted to go a bit faster, but it doesn't seem designed from the ground up to be fast, and AoT compilation seems to be perpetually on the back-burner.

Compared to other languages like C++ or Rust, which have been built for speed...

Edit: changed my comment because it was a bit too argumentative.

Re: .NET Orleans

#259
Haters can continue hating(or decide to grow up). Truth is I've found no ecosystem more productive than .NET in all of my coding. The only problem with .NET is the sheer amount of haters and we fare very well even though.

You all screaming performance and techempower stats don't even realise that C#(ASP.NET Core) is 6th placed on techempower's list when you check the composition of all the various benchmarks.

All of these without sacrificing readability, compile times, verbosity etc.

Or do you want to talk about the agility of the framework, speedy bug fixes, endless innovations and all. Don't even get me started on the tooling. It's unmatched in all of programming. VS2019, VS Code, Rider, dotnet cli etc. Ever heard about Roslyn?

Drop your hatred and check out dotnet's current state before jumping into conclusions.

C'mon, let's be real. .NET is supreme in the streets of code.

Re: .NET Orleans

#260

I'm involved in a project that uses Orleans. Conceptually and technically it's very interesting. Nodes automatically cluster together to form a big distributed system, and the concept of "virtual actors" make it possible to represent individual entities in the data model directly as actors, without worrying whether everything fits in memory at the same time. However, Orleans doesn't seem to play very well with Kubern…

There is a new package which adds improved Kubernetes integration and fixes the issues you mentioned specifically. It's in beta right now, but we expect a stable release soon. Feel free to contact me and I can help you with running Orleans on Kubernetes

[deleted]
Post reply on HN