Live data from Hacker News

.NET 10

devblogs.microsoft.com

281–290 of 605 posts

Re: .NET 10

#281

Earlier quoted context omitted.

The problem is thats how a lot of .net shop operate. I say this as .net developer. .NET gets selected because a lot of non tech companies need to do software things, and they pick the stack fits in with their current WinTel stack. The main concerns is having replaceable talent to reliably do x. They're not trying to innovate. They are often doing something like sending out insurance quotes by email. They do this by h…

Imo, you're criticizing "enterprise" development, not .NET/C#.

And .NET is the language of choice for "Enterprise". So that's what the majority of jobs are.

Where as large 'tech' companies don't tend to be like this.

Re: .NET 10

#282
post #174
post #47

Earlier quoted context omitted.

As a startup, what is it in for me to switch from Java, Spring Boot, Hibernate, Beam, Flink, Pulsar, Vault, KeyCloak ecosystem to C#.Net? Is the documentation better? Do I get better performance? Is the community larger and more stable?

Most of that ecosystem is language agnostic, or offer much more ergonomically sane APIs in dotnet. This is especially true for anything coming out of Google (e.g. Dataflow which runs on top of Apache Beam). C# itself has way better DX (object initializers alone are worth the switch), and most language features don't feel bolted on like with Java (anything from functional programming to extension methods to whatever).…

> and most language features don't feel bolted on like with Java (anything from functional programming to extension methods to whatever)

Java doesn't have extension methods and while both are decent languages, C# is the one that likes implementing every conceivable language feature immediately, while Java takes a while to design a bigger feature that will replace several smaller ones' use cases.

Re: .NET 10

#283
post #201

Earlier quoted context omitted.

There is WinDbg which can debug CLR code, but that is Windows only.

The .NET debugging extension (SOS) is not Windows only, it supports LLDB on Linux in addition to WinDbg: https://learn.microsoft.com/en-us/dotnet/core/diagnostics/de...

License: https://www.nuget.org/packages/dotnet-debugger-extensions/9....

> a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may opt-out of many of these scenarios, but not all, as described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft�s privacy statement. Our privacy statement is located at https://aka.ms/privacy. You can learn more about data collection and its use in the software documentation and our privacy statement. Your use of the software operates as your consent to these practices.

> You may not work around any technical limitations in the software:

> * reverse engineer, decompile or disassemble the software, or otherwise to derive the source code for the software, except and only to the extent required by third party licensing terms governing use of certain open-source components that may be included with the software;

> ...

> * share, publish, rent, or lease the software; or

> * provide the software as a stand-alone offering or combine it with any of your applications for others to use, or transfer the software or this agreement to any third party.

So you are not, for example, allowed to ship this in your application's docker image, you are in fact not allowed to redistribute it at all. So if you wanted to get a .NET debugger into your staging environment, you are not actually allowed to, unless you directly install it then-and-there with nuget. (I'm assuming we're talking about any type of enterprise context, where any given application is touched by contractors or employees from n>1 legal entities, so you are always distributing/sharing/transferring/making available).

Ya ya, I know you shouldn't have debuggers near prod, chiseled images, living off the land, yaddayadda. Regardless, it's needed or at least the easiest way at times, to actually be able to debug an application in staging or similar scenarios.

Also I'm not sure if e.g. blocking outgoing connections of the telemetry (even if by blanket policy) would already technically violate the license.

Re: .NET 10

#284

I usually feel ambivalence with announcements of new C# versions. Yes, a lot of great features have been added over the years. But it also introduces some amount of cognitive load and confusion. Take the first new feature in the example: > Field-backed properties simplify property declarations by eliminating the need for explicit backing fields. The compiler generates the backing field automatically, making your code…

Agreed. I feel like we're getting diminishing returns out of the language as they try to squeeze out every last keystroke (as though the challenge of software development is in the typing)

I'm thankful I've been along for the ride so I know the "archaeology" but pity those freshly dunked into its increasingly complicated ocean

Re: .NET 10

#285

To me, it's pretty much unbelievable that Microsoft introduces an agent framework while for JSON serializing third-party Newtonsoft is still the go-to. Edit. I was not aware that the gap between System.Text.Json and Newtonsoft narrowed, take my comment with a grain of salt, please!

The go-to nowadays is System.Text.Json, developed by the same person as Newtonsoft.Json, built in to .NET. Newtonsoft.Json as the primary JSON serializer (at least in every place I've worked) has NOT been the case versus System.Text.Json for years. Though it certainly used to be the case.

Doesn't Text.Json have a much narrower scope and plenty of features supported by Newtonsoft not available?

Re: .NET 10

#286

Changed from Ruby to .NET and loving it. C# is a great language, it's now very modern and has the best parts of Typescript, while leaving out the bad ones. It's also extremely fast and multi-platform. It also doesn't have the fragmentation that Java or JVM langs has. And it's also open source nowadays. I think Sillicon Valley hasn't caught up with those recent changes, I bet more startups would be using C# if they kn…

> It also doesn't have the fragmentation that Java or JVM langs has

What fragmentation? Honest question

Re: .NET 10

#287

Earlier quoted context omitted.

Imo, you're criticizing "enterprise" development, not .NET/C#.

And .NET is the language of choice for "Enterprise". So that's what the majority of jobs are. Where as large 'tech' companies don't tend to be like this.

> And .NET is the language of choice for "Enterprise". So that's what the majority of jobs are.

Disagree. I would argue Java is more of a choice for "Enterprise".

Also, would you please define the scope of "enterprise".

If you mean "enterprise" as someone who want consistent and predictable management and productivity, then sure .NET is "enterprisy", because instead of a dragon they want a fossil.

But if you mean "enterprise" as they want to sell their core product, and sometimes that pushes to high developmental velocity with multiple development team to tackle on a feature, then .NET is evolving fast enough that it is not so considered "enterprisy".

Heck, even Ruby on Rails would replace .NET for that, especially when you consider the e-commerce scene that is either Ruby or PHP (Wordpress).

Just look at C# and its incredible language revision every year.

Re: .NET 10

#288

Earlier quoted context omitted.

> Do you also make everyone drive the same vehicle Good analogy. If, say, your organisation maintains a fleet of cars - it needs to keep them on the road, get them serviced, replace parts, refresh individual cars regularly etc. How many different makes and models do you support? A small org might decide that it only makes sense to support one. A larger org might have the resources for 3 or 4, so that there is 1 or 2…

But different tasks require cars, other tasks require trucks, vans, bicycles, motorcycles..

but they all delivers, just that they don't suit your taste doesn't mean it can't

Re: .NET 10

#289

Earlier quoted context omitted.

> Need a database - should it be SQL Server? "I am using Java. Need a database - should it be Oracle?" .NET Core 1.0 was released almost a _decade_ ago.

??? Java was originally Sun Microsystems. However - if Java was Oracle to begin with (and as successful in the mid-90s) then might have done some marketing for the Java+Oracle mix. Some people (ie Managers) if they decide on using Microsoft products will likely "encourage" the use of C# and .NET. -- That is an example of C# + Sql Server.

> That is an example of C# + Sql Server.

I'm sorry but most of us use Npgsql now

Re: .NET 10

#290

Earlier quoted context omitted.

I think the key problem is that a large number of startups are shipping software in containers, and dotnet requiring a CLR is not particularly well-suited for containerization. It's like the old school Java JVM model. You have to ship a copy of the runtime with every container, and if you're doing proper microservices it's an awful lot of overhead. Yes I'm aware MS makes it easy to build containers and even single ex…

> dotnet requiring a CLR is not particularly well-suited for containerization Why? I routinely put compiled .NET programs into containers. It's also easy (easier than Rust even) to build on Mac targeting a Linux image.

Create a hello world dotnet container, then do the same in a modern language. Then compare image size and resource consumption. Then imagine you're running tens of thousands of containers in a proper SaaS microservices model, and it'll make sense :)
Post reply on HN