TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

What Makes .NET Core So Special?

238 pointsby jamesmhover 6 years ago

22 comments

smashedtoatomsover 6 years ago
I’m in the process of porting a bunch of go code to dotnet core 2.1 on AWS lambda. I’m on a Mac using vscode. I never installed mono, just the dotnet sdk.<p>Honestly, I’ve been amazed at how good the tools have been. For cli and serverless dev, it’s been surprisingly great. It’s fast. C# is decent. The cold starts are not as fast as go, but not terrible. Memory usage is low.<p>It’s been a legitimately positive experience. When I started the port I was skeptical, but it is legit cross-platform. I would consider starting a project in it for lambda... I never thought I’d say that about a MS product.<p>Something over there is different, and I suppose it has been for awhile. I think it could get a lot more popular as non-ms devs realize that MS has built dotnet to work really well on Mac&#x2F;Linux cli, far away from the weird tightly-coupled Windows&#x2F;VisualStudio-hit-f5-to-do-the-magic-with-the-15-billion-auto-generated-magical-xml-files world. It feels well engineered instead of thrown together, which is nice.<p>Also, So far, I’ve pulled in no external libs other than the AWS sdk for the port either. C# with linq is a pretty complete toolset. I’m sure I’ll pull in more as I get more familiar, but it’s been solid on its own. Really nice surprise.
评论 #18414660 未加载
评论 #18413493 未加载
评论 #18413441 未加载
评论 #18414062 未加载
评论 #18413815 未加载
评论 #18414521 未加载
SimonPStevensover 6 years ago
I want to like .Net Core, I really do. But in my opinion its just not yet ready for serious use.<p>An example. If you want to use .Net Core you can&#x27;t use entity framework, you have to use EF Core, which doesn&#x27;t yet support mapping to views or stored procs, only tables.<p>Now you might think that&#x27;s fine, maybe you only want to map to tables. But it&#x27;s the same story all over the ecosystem. Many major projects have a separate netfx and core package, and many times the core package has restricted functionality. You will almost certainly find a whole host of things you need are missing.<p>And then you get the fact that ASP.Net Core is dropping support for .Netfx in the next release, so if you want to use ASP.net Core you are now limited to EF core too, which means you are making a full jump and can&#x27;t just go halfway first. And .netfx is now not going to support .net standard 2.1.<p>The list of incompatibilities and restrictions just goes on and on. I certainly can&#x27;t keep the full list in my head. So right now I&#x27;m not really willing to commit to a new project of any significance on .net core because I know there will be dozens of missing dependencies or features.<p>You could argue this is just want it&#x27;s like at the cutting edge, and the gaps will be filled in time. But .netfx is clearly already going into maintenance mode, so the push to move to .net core has already started.
评论 #18415001 未加载
评论 #18415163 未加载
评论 #18415059 未加载
评论 #18415219 未加载
评论 #18417177 未加载
评论 #18415531 未加载
评论 #18415535 未加载
评论 #18416669 未加载
评论 #18415412 未加载
评论 #18419137 未加载
dustinmorisover 6 years ago
.NET Core and F# are the only reasons why I still develop .NET. I really hope the platform can break out of the Microsoft silo and attract talent from other dev communities, because the biggest problem with .NET Core, despite the whole OSS move, is still that the majority of C# developers let themselves happily trap by the Microsoft marketing machinery. The average .NET developer never even tries different things like AWS or the Google Cloud, TravisCI or AppVeyor, etc. They just swallow anything which so-called MVPs and conference presenters force them down the throat, primarily Azure which is by all measures inferior to the other two and they don&#x27;t even know.<p>Visual Studio is littered with SQL server and Azure tools which doesn&#x27;t even make sense. Either offer equal tools for all major tech or none, but this subconscious constant selling of their own tools sickens me slowly.
评论 #18412965 未加载
评论 #18412979 未加载
评论 #18412962 未加载
评论 #18413574 未加载
评论 #18413386 未加载
评论 #18413881 未加载
评论 #18413654 未加载
评论 #18413212 未加载
评论 #18413560 未加载
评论 #18414155 未加载
评论 #18413540 未加载
PhilWrightover 6 years ago
The post only mentions .NET Core, but should actually be mostly talking about ASP.NET Core that runs on top of .NET Core. The features such as dependency injection and Razor Pages are ASP.NET Core specific.<p>Microsoft have announced that they will be porting WinForms and WPF over to .NET Core so that they no longer need the heavyweight .NET Framework. However, this DOES NOT make WinForms&#x2F;WPF cross-platform. They will still be restricted to Windows but will allow you the benefits of .NET Core, such as allowing side-by-side versioning.
评论 #18412353 未加载
评论 #18412759 未加载
评论 #18413696 未加载
评论 #18412396 未加载
unsignedintover 6 years ago
One thing that makes .NET Core makes me special for me is PowerShell Core.<p>I have been coding quite a bit of PowerShell Cmdlet in C# lately, on Windows and Linux, and it&#x27;s very nice that I can pass around .NET datatypes interactively, and in a script.
评论 #18412788 未加载
bungie4over 6 years ago
I just inherited a .Net core app that was a proof of concept. It&#x27;s a real pot luck of glued together functionality. I remember working in MS ASP land almost 2 decades ago and I swore I wouldn&#x27;t invest a single minute learning another proprietary MS technology.<p>I by and large held to that but here I sit, banging away at some C# code. This is day 3. Did you know if you specify a path in JSON and apply it to Use app.UseStaticFiles with a single trailing slash, instead of a double, it&#x27;ll bring down the .Net kernel in flames.<p>Not confidence inspiring in the least.
评论 #18415020 未加载
评论 #18415123 未加载
cryptosover 6 years ago
Besides Node.js the main competitor is is Java&#x2F;JVM. C# is a bit nicer than Java, but you can use Kotlin or Scala on the JVM. All in all I see no real advantage over the JVM&#x2F;Java world - more of the other way around, since the .Net ecoystem is not as big as the JVM ecosystem. However competition is always good.
评论 #18413808 未加载
评论 #18413913 未加载
评论 #18415878 未加载
评论 #18413726 未加载
评论 #18413604 未加载
gjm11over 6 years ago
On an entirely superficial point, in case the author is reading:<p>&gt; It offers developers modern tooling that can scaffold projects, build, run, test and deploy using incredibly easy-to-use CLI tools.<p>I think this is one place where the abbreviation CLI should be avoided, since it means two completely different things both of which are somewhat plausible here at first glance. &quot;Command line interface&quot; -- even though this is a Microsoft-derived thing, you can do everything using the command-line tools you&#x27;re used to from Unix, node.js, etc.; &quot;Common Language Infrastructure&quot; -- even though this is happening on Mac and Linux as well as Windows, you can do everything using the Microsoft .NET tools you&#x27;re used to from Windows. I&#x27;m pretty sure the first of these is the intended meaning, but I had to think about it.
alexmuroover 6 years ago
Personally the biggest advantage .NET core has for my situation is that it creates a pool of programming talent and mindshare that I&#x27;d now be open to hiring and working with on projects that can now be made with open source tools in a sane environment.<p>I don&#x27;t think it would be my go to choice for projects currently, but its an option I would happily consider and I give Microsoft a lot of credit for moving in this direction.<p>That being said so far the reasons I&#x27;ve had to look at it were modernizing older .NET projects and last I looked there were so many incompatibilities be between .NET core and .NET standard that the projects would have been almost complete re-writes, somewhat of nullifying its advantages against other choices, but that was a while ago.
评论 #18415004 未加载
keithnzover 6 years ago
this seems odd. The main advantage other than going faster than Node ( which you&#x27;d expect ) is that it&#x27;s cross platform and can run in containers and has libraries.....like MOST other languages.<p>Not knocking .NET Core, I use it a lot... but this just doesn&#x27;t seem like it tells you what&#x27;s special about it
评论 #18412214 未加载
评论 #18412244 未加载
评论 #18412263 未加载
评论 #18412610 未加载
评论 #18412378 未加载
评论 #18412221 未加载
Yushoover 6 years ago
We are replacing out homegrown PHP ERP system with ASP.NET Core MVC since Version 1.0.<p>It is a blast to work with LINQ and Lambdas and I really miss it in other languages. EF Core also matures quickly and we sucesssfully connected it to mysql and sql server. So far there hasn&#x27;t been a problem we couldn&#x27;t solve in .Net Core.<p>For a small side project I used .Net Core Razor Pages very productively. Only needed the SDK and visual studio code. Planning on moving more small stuff away from python to .net core based on that.<p>Really looking forward to Version 3.0 and Kestrel replacing IIS for good.
dodygover 6 years ago
If you intend to learn ASP.NET Core, check out my micro samples <a href="https:&#x2F;&#x2F;github.com&#x2F;dodyg&#x2F;practical-aspnetcore" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;dodyg&#x2F;practical-aspnetcore</a> (171 samples so far).
jackcosgroveover 6 years ago
.NET Core is special because it increases the portability of your .NET code in case your cloud provider decides to jack up costs by 15% for no reason other than you are locked in. <i>cough</i> <i>cough</i>
euskeover 6 years ago
What about client-side apps? Is it possible to write a cross platform client app with .NET Core, a la Electron way? That would be my dream framework. I&#x27;ve been waiting for it for decades, seriously.<p>(I looked at Avalonia UI and mono&#x2F;xwt. Not sure how stable&#x2F;reliable they are.)
评论 #18412311 未加载
评论 #18413041 未加载
评论 #18412566 未加载
评论 #18413268 未加载
评论 #18412495 未加载
评论 #18412394 未加载
评论 #18412587 未加载
评论 #18412389 未加载
doomboltover 6 years ago
When I try to run a random .Net exe file with dotnet core it will complain about libhostpolicy.so dependency missing.<p>I understand that it is not supposed to run .exe files (no idea why, okay), but overall it sounds like awful usability.
mcnyover 6 years ago
I would say not being actually free and open source is a show stopper but I&#x27;m glad there&#x27;s finally some progress. <a href="https:&#x2F;&#x2F;github.com&#x2F;dotnet&#x2F;source-build&#x2F;issues&#x2F;782" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;dotnet&#x2F;source-build&#x2F;issues&#x2F;782</a><p>I don&#x27;t get it. They rewrite the whole think from scratch and there&#x27;s still code they can&#x27;t show the source for... I have a feeling there is still push back inside Microsoft against Scott Guttrie and the open everything crowd.
soulwatcherover 6 years ago
Many of the features (Dependency injection, etc) seem only to be available for ASP.Net Core. What about cross platform desktop applications? Do we have a GUI layer that is cross platform as well?
评论 #18412597 未加载
评论 #18413221 未加载
评论 #18413294 未加载
评论 #18412616 未加载
评论 #18413281 未加载
评论 #18413130 未加载
评论 #18412404 未加载
kristianpover 6 years ago
Reads like an overenthusiastic sales piece posted here by the author to sell their own product.
LeonBover 6 years ago
I moved all my indie projects from .net to .net core, so i get the same development model i know and love, but can host on linux.
评论 #18413121 未加载
Double_a_92over 6 years ago
It&#x27;s one of the few halfway modern &quot;lightweight&quot; languages with static typing and other full fledged OOP features.
wiineethover 6 years ago
How is ASP.NET core these days? How is it compared to node js? Is it worth using it?
atsjieover 6 years ago
I was working for a company that was making the switch from Nodejs to C#&#x2F;.NET Core.<p>Having taught and worked 4 years professionally with Java I believed I&#x27;d make the switch to C# easily.<p>This was not the case. But not by lack of understanding C# or .NET Core.<p>Mainly .NET Core and C# felt like a few years back in time. A lot of boilerplate, configuration, and a lack of libraries&#x2F;alternatives.<p>I don&#x27;t necessarily need or want a full-bodied UoW ORM when designing a microservice. It felt like I was trying to practice DDD designed for a monolith; while many of the programmer practices of DDD feel cumbersome when designing a more minimal microservice. Even the concept of a &quot;Controller&quot; feels misplaced for a microservice; request handler functions seem more appropriate.<p>Some findings I had when I tried it:<p>- Model validation is very optimistic; casting JSON numbers to strings automatically and vice-versa. To me this feels completely unacceptable. I&#x27;ve never seen something as surprising with regards to validation. While there are ways around this that requires a lot of work and code. In the end I worked around this by parsing the JSON input using JSON Schemas and ignore .NET Core model validation completely.<p>- The JSON deserialization is a separate step before the model validation; throwing 500 errors if JSON is formatted improperly. If you want consistent error handling and more than just the basic error output across your entire application (deserialization, model validation, business rules, app errors, etc...); good luck. .NET Core makes it difficult to achieve that goal. Same here I used a JSON Schema parsing library to overcome most of my problems and completely ignore .NET Core out-of-the-box features.<p>- Entity Framework feels as defacto standard; where basic SQL would do in Node or Go. It&#x27;s a difficult sell to your colleagues if you&#x27;d argue EF is redundant and overly complex for the task at hand.<p>- I first tried to write .NET Core in VS Code like I do Nodejs, Python and Golang. It worked, but I would recommend anyone to use either Visual Studio or Rider instead. The auto highlighting, code hints and refactor tools are just so much better using those tools. Also I frequently ended up deleting the *.sln files and recalculate them using the CLI tool using VS Code. VS Code support for C# + .NET Core is just not mature yet.<p>- To set an environment variable in Linux the convention is UPPER_CASE. C# &#x2F; .NET Core uses UpperCase__Double__UnderScore. I know it&#x27;s minor, but it just feels weird and out-of-touch with linux devops, probably due to a windows-first approach.<p>- Lack of a popular alternatives like Kotlin or Groovy that provide a more lean &amp; mean approach to tackle simple tasks or build basic microservices. (I don&#x27;t count F# which is more in the functional domain)<p>- No out-of-the-box support for measuring test coverage in Linux. Community alternatives are lacking.<p>- ...<p>I&#x27;m convinced .NET Core is a step forward for the C# community. I&#x27;m not convinced it&#x27;s a step forward for others.
评论 #18418672 未加载