3 ms·
The issue here was Microsoft appointing itself judge and jury of which projects should have most-favored-nation status and that criteria being reflected directl
by Aaronontheweb 5y ago
The issue here was Microsoft appointing itself judge and jury of which projects should have most-favored-nation status and that criteria being reflected directly into the package distribution system. Given Microsoft's singular influence over the .NET ecosystem, this presents a massive conflict of interest especially when pitting Microsoft's own first party solutions versus third party ones - there would be a tremendous amount of pressure to ensure that the MSFT packages rise to the top of the ladder without any guarantee as to their longevity.
I detailed this all at length here prior to defeating the initiative: https://aaronstannard.com/dotnet-foundation-maturity-ladder/ https://aaronstannard.com/dotnet-foundation-maturity-ladder/
- zvrba 5y agoI've seen your other (earlier) posts about .net ecosystem and... I'm sorry, but if the said maturity scale would exclude projects like the ones you're bragging about, it would only be good, for it would reduce the amount of junk on nuget. Simple file locking implementation? Why the hell would someone risk importing a nuget when they can implement it themselves in like half a day? (If you know you need a file lock, you know what's needed to implement one, the rest is about finding the docs.) Library for scalable servers? You don't need one with async, all the other building blocks are already shipped with netcore. (Ya, maybe you won't be able to squeeze the last 5% of performance without enormous amount of work, but 99% of the projects don't need that. Those which do would probably roll their own anyway. BTW, the remaining 5% performance win from some library would easily spoiled by inefficient event handlers.) Implying that lack of libraries akin to those in Java means that .net developers are doing non-innovative, boring CRUD stuff is extremely condescending. Maybe Java has so many more of such libraries because everything is so much more cumbersome to write from scratch in Java? (All libraries are a liability. They'd better solve a HARD and/or COMPLEX problem that'd take 1+ months to implement before I vet them into a project. Your examples are not in that class.)
- Aaronontheweb 5y agoI can safely assure you that you don't know what you're talking about. I work on distributed actor system OSS full-time and I wouldn't have customers of the out of the box defaults that shipped with .NET Core did the job.
- zvrba 5y agoOh btw, there was no conflict of interest from your side? _Your_ company did not want to follow the maturity scale, so you made an effort to shoot the proposal down... How does that make you better than Microsoft? As for customers... there will always be customers for pre-packaged solutions, quality and support. Obviously .net cannot include a framework for $X for every possible X. But that does not mean that non-customers of yours are _not_ doing (approximations, to the degree they need) of X internally. In your posts, you were complaining about the lack of innovation, yet Akka.NET (I assume that's what you're referring to) does not seem to innovate anything, it's a carbon-copy of Akka for Java and the "raw" actor model. Project Orleans from MSR on the other hand _does_ innovate. I have a PhD related to distributed systems and I investigated the actor model a lot. Orleans addresses the deficiencies/problems with [1] it that I myself noticed. [1] Quote from the introduction of https://www.microsoft.com/en-us/research/publication/orleans-distributed-virtual-actors-for-programmability-and-scalability/ https://www.microsoft.com/en-us/research/publication/orleans...: "Actor platforms such as Erlang [3] and Akka [2] are a step forward in simplifying distributed system programming. However, they still burden developers with many distributed system complexities because of the relatively low level of provided abstractions and system services. The key challenges are the need to manage the lifecycle of actors in the application code and deal with inherent distributed races, the responsibility to handle failures and recovery of actors, the placement of actors, and thus distributed resource management. To build a correct solution to such problems in the application, the developer must be a distributed systems expert."
- Aaronontheweb 5y ago> I have a PhD related to distributed systems and I investigated the actor model a lot. > Akka.NET does not seem to innovate anything Maybe you should ask for a refund
- zvrba 5y agoAnd sarcastically side-stepping the CoI issue.