Live data from Hacker News

.NET 10

devblogs.microsoft.com

211–220 of 605 posts

Re: .NET 10

#211

Earlier quoted context omitted.

Exactly this point. Go and Rust produce native binaries, I wish C# had an official native compiler without the big runtime needs of .Net.

You might want to read https://learn.microsoft.com/en-us/dotnet/core/deploying/nati... Publishing your app as Native AOT produces an app that's self-contained and that has been ahead-of-time (AOT) compiled to native code. Native AOT apps have faster startup time and smaller memory footprints. These apps can run on machines that don't have the .NET runtime installed.

And this sounds great until you get to the laundry list of restrictions. For us the showstopper was you can't use reflection.

Re: .NET 10

#212
post #121

Earlier quoted context omitted.

> People love to talk about the right tool for the job, it's all BS This sounds very close minded to me. It is certainly true that there exist tasks if not subdomains where some ecosystems are better than others. Using a hammer for everything might work for you if all your problems are nails. But that doesn't mean that all problems out there are nails

If you can justify with good reasons why you absolutely need this other tool then that's fair game - hence the data science example where I allow for specialists to use specialized languages for specialized tasks. I'm talking about general software development and web dev in particular. There's a trend where you'll see one org has or web app using .net ad react, another using next.js, another using Java and Vue, one…

>> And there is literally no reason for any of these choices

I'm a manager now but definitely held a variation on this "people are idiots" view when an IC and younger. Question: are all your coworkers idiots? No? then why would all the work done before you be the product of idiots?

I found it really valuable to approach scenarios where the initial response is "how could this possibly happen?" as a cultural anthropology question. It turns out there were many rational decisions made, most that I would have gone along with that brought us to what we see today. My coworkers are actually really good, some of them who manifested what we see today are amazing. Many are crafting code, making thousands of microdecisions without perfect information or 100% clarity across a large organization, reacting to changing markets and directions, client needs, shifting priorities, executive decisions, technology changes... the list goes on.

This is all my way of saying there might be many reasons for any of these choices, and you'll help your own cause - and happinness - if you step back from your zealotry and take an empathetic approach that's less binary.

Re: .NET 10

#213
post #197

Earlier quoted context omitted.

I worked at a Microsoft shop, and this was my experience. 1. Process, process, and more process. Doing anything required layers of management approval. Trivial tasks become month long, or even years long, processes. 2. You have no power or agency. Something is broken? You're a developer, you should be able to fix it right? No. Broken things stay broken. You swim in your lane and keep your head down. Mediocrity is the…

Those things have nothing to do with C# though, rather than your personal experience with companies that were using it. If I judged every single company i worked at/interacted with, that uses NodeJs, I'd think that every single Node dev is a 13 year old child with no real experience but who think's he's the hottest shit. That has nothing to do with Node and doesn't really describe _all_ the companies out there.

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 having strict processes, and having developers stay in their lane. Expect rigid scrum, using dependencies only supported by Microsoft etc, Locked down Dev machines with visual studio only, ask for microsoft dev certs, and expect pre-approved enterprise design patterns up the wazoo. They don't want innovative developers, they want you to fit into the pre existing framework designed by an architect. Your skills can die in such an environment.

There are companies that use .NET that aren't like this, but you have to go out your way to find them.

Re: .NET 10

#214

Earlier quoted context omitted.

> culture of C# / Microsoft shops at al What do you mean?

I worked at a Microsoft shop, and this was my experience. 1. Process, process, and more process. Doing anything required layers of management approval. Trivial tasks become month long, or even years long, processes. 2. You have no power or agency. Something is broken? You're a developer, you should be able to fix it right? No. Broken things stay broken. You swim in your lane and keep your head down. Mediocrity is the…

That just sounds like management issues and less tech. Granted maybe people who are bad at that select C#, or it's just size of company?

https://youtu.be/s4Cz49MLh4o?t=142

Re: .NET 10

#215

Earlier quoted context omitted.

I think the "confusing" aspect with C#, being part of the Microsoft eco-system, is that there are many smaller companies (and startups) that may have concern paying for such tools. To the uneducated, C# is linked to Visual Studio.. the IDE.. and the Community edition if free as long as you are a student, open-source, and individuals. Professional and Enterprise are paid. (Yes - there is Visual Studio Code) Again, I a…

> It's just the amount of money spent on Windows/Microsoft for small companies is rather large, compared to other alternatives that are just as good. This is a complete mis-perception about the modern ecosystem. We have a full team using C# at a series-C, YC startup with every developer on Macs (some on Beelinks and Linux). The team is using a mix of VS Code, Cursor, and Rider. We deploy to Linux container instances…

My last comment, which you referenced... focused not just on C# or .NET.. but the focus of "you need Microsoft" in general.. this includes Windows, SQL Server, etc.

Again, my comment is focusing on someone on the outside looking in.. and WHY people end up making decisions away from C# in favour of (something like) Go.

I am aware of deploying to Linux containers, etc.

Re: .NET 10

#216

Earlier quoted context omitted.

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

I think that question is more "how many different makes of van can your delivery company afford to maintain?" Which is an analogy for "how many different programming languages for the same task of serving a web api can you company afford to support?" The majority of programming languages (c# definitely included!) are "general purpose", i.e. they can be used well enough for almost all tasks. They're not so different a…

Car models get maybe refreshed annually, bigger changes a couple of times a decade, if that. Vehicle fleets are often aging out with these timelines.

So if we either stretch the fleet management analogy to 50 years, or software applications only lasted 3-5 years maybe it IS fair to say the both have either a lot (former) or very little (later) inconsistnency?

Re: .NET 10

#217
post #204

Earlier quoted context omitted.

I think the "confusing" aspect with C#, being part of the Microsoft eco-system, is that there are many smaller companies (and startups) that may have concern paying for such tools. To the uneducated, C# is linked to Visual Studio.. the IDE.. and the Community edition if free as long as you are a student, open-source, and individuals. Professional and Enterprise are paid. (Yes - there is Visual Studio Code) Again, I a…

> To the uneducated, C# is linked to Visual Studio.. the IDE.. and the Community edition if free as long as you are a student, open-source, and individuals. Professional and Enterprise are paid. No it's not. What? Visual Studio is a shitty MS product that most decent C# devs already moved away from to JetBrains/vscode. > Need a database - should it be SQL Server? Should it be Windows Servers? etc. .NET runs on Linux…

> most decent C# devs already moved away from to JetBrains/vscode.

My comment is NOT talking about 'decent C# devs'

It is a RESPONSE as to why more people are not using C# for startups. For those who are not familiar with C# MAY be put off using it for those reasons... and why another language might be used.

Re: .NET 10

#218
post #201

Earlier quoted context omitted.

Isn't the official .NET debugger only allowed to be used from Visual Studio and VSC? I recall Jetbrains had to remove debugging support from their IDE for a while due to that license. Also the whole kerfuffle around hot reloading first being added to .NET (Core) and then the code being deleted because it was supposed to be a VS-only feature. These things to me seem like one faction in MSFT wants .NET to be an open pl…

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

> that is Windows only.

There are so many things that are like this in the .Net ecosystem.

Yeah, it runs on Linux. Kind of. Mostly.

As long as Microsoft is at the helm, I don't expect that to change.

Re: .NET 10

#219
post #200

Earlier quoted context omitted.

I think the "confusing" aspect with C#, being part of the Microsoft eco-system, is that there are many smaller companies (and startups) that may have concern paying for such tools. To the uneducated, C# is linked to Visual Studio.. the IDE.. and the Community edition if free as long as you are a student, open-source, and individuals. Professional and Enterprise are paid. (Yes - there is Visual Studio Code) Again, I a…

> To the uneducated, C# is linked to Visual Studio.. the IDE.. Not native English - does "to the uneducated" means you are directing this sentence that knows no better or you are uneducated? Because if it is former, you need to re-educate yourself. C# is not linked to IDE. You can do `dotnet build`? Can run on Linux if you will. Database choice? You are NOT limited to SQL Server or Windows server.

> C# is not linked to IDE. You can do `dotnet build`? Can run on Linux if you will. Database choice? You are NOT limited to SQL Server or Windows server.

People who already are familiar with C# know this. To programmers that do not, may prefer to stick with another language to keep away from Microsoft in general.

Again - my comment is a response about why C# is not used more for startups. I am not suggesting it isn't, but there are plenty of reasons, and this is likely just one.

Re: .NET 10

#220
post #130

Earlier quoted context omitted.

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

Yeah, .NET is a truck and React is a bicycle. Nobody sad you can't use different tools for different tasks. I'm saying use one tool for one task. One type of truck. One type of bicycle. Maybe some companies need both a small and a large truck. That's all fine as long as you actually need it. Just don't let every dev choose their own because you're gonna have a hell of a time maintaining that fleet.

>> Yeah, .NET is a truck and React is a bicycle

I'm not a car guy but I most certainly a bicycle lover, so I will jump on you and say you often need more than one type of bicycle. Joan commutes to work? she wants a city ebike. Dan rides at the bike park? He wants a DH bike. Randy ride centuries on the weekend on his TDF road bike and Sally rides with her kids on a mountain bike.

So yeah, we can pick one bike type and force everyone to ride it, and the results will suck & everyone hate it. Your job can be to continually force everyone to follow this policy or you can stop and we'll get a lot of variation. THis is how it happens.

Post reply on HN