Live data from Hacker News

.NET 6 is now in Ubuntu 22.04

devblogs.microsoft.com

321–330 of 351 posts

Re: .NET 6 is now in Ubuntu 22.04

#321
post #317

Earlier quoted context omitted.

Application developers can still pin their in-ecosystem library dependencies to exact versions and have downstream, distro-level package managers respect that while building everything from source and making the system package manager aware of all of those library versions in more or less the usual way. (That's how building Rust and Go applications already works on NixOS, for example.) That's why I say it's largely a…

There is no immediate problem with building from source, there simply isn't much of a benefit to doing so. An assembly compiled with different optimizing C# compilers will be virtually identical assuming the source files are identical. I can think of a reason not to compile from source: it's essentially statically linking code into your assembly which can be huge problem for middleware packages that want to override…

Hm. Thanks for this and previous answers.

> I can think of a reason not to compile from source: it's essentially statically linking code into your assembly which can be huge problem for middleware packages that want to override the specific version you depend on. This is very common with the JSON serialization library, which is highly backwards compatible.

I think if .NET were integrated into Linux package management systems in the 'organic' way, 'building from source' here would still be 'building from source with the assistance of the distro package management tooling', which would mean that you would get intermediate build artifacts for all the deps, recursively.

If you have to do that manually, it would suck. But when automated tools can generate those packages, it works relatively nicely.

> I think historically in the .NET world, package consumers have expected pre-compiled assemblies and not source code and so that's what the ecosystem has developed around.

Yeah, and I can see how distros burning their own compute bandwidth building the same binaries into their own artifact repository systems instead of using Nuget might seem like more of a religious rite than a purposeful task.

But I think the ability to uniformly inspect and update the software on the system is a big deal when it comes to Linux distros, as is the ability to add source patches, especially for backwards compatibility or security fixes, to most people involved in putting distros together.

I don't know if Canonical is up for it with Ubuntu, but it does sound like building dotnet applications in a way that is conventional for Linux distros is certainly possible. Alternatively, something like AppImage, Flatpak, or Snap seems like a natural fit for distributing apps with libraries shipped directly by the publisher that Ubuntu or other distros could use to include .NET applications.

Re: .NET 6 is now in Ubuntu 22.04

#322
post #282
post #74

Earlier quoted context omitted.

Not true. To blanket state microsoft is not reliable is ignorant. Anyhow, be on your way. I will continue using .net / c# for another decade.

I hope it lasts that long. I picked up and used XNA for the global gamejam 2012. It wasn't a terrible experience, so I went to use it again for 2013 but they'd since killed it off.

It has been already 2 decades. It will probably last another 2.

Re: .NET 6 is now in Ubuntu 22.04

#323

Had to fix a bug in a hobby app that uses .NET Core for its backend last evening. I miss working in this ecosystem daily (back to node and rails for work), it's such a pleasure. The best developer experience I've ever had. If anyone is hiring and you use .NET... :)

I'm hiring .NET developers in the near future for an RPA platform focused on real estate. Send me your LinkedIn, CV, or personal website at {my username}hn@gmail.com.

We are fully remote with flexible hours and offer 4 day work weeks.

Re: .NET 6 is now in Ubuntu 22.04

#324
post #316

Earlier quoted context omitted.

Yup, Australia has a real hard on for C#. As a dev in Australia, I can support the list you gave, but I'd be cautious to extend that globally.

I'm from Europe and there's a lot of .NET jobs here too. In my experience, the US is the outlier with a very small .NET presence.

Maybe just out of SV, because at least in Florida there are lots of it.

Re: .NET 6 is now in Ubuntu 22.04

#325

I still feel Microsoft development experience is pretty poor and has been sometimes hostile in the past, and still don't have much confidence nowadays. Maybe because it's not a popular language, but the F# experience for me has been bad - tried it two years ago with F# 5, and recently with F# 6. The documentation in both cases was immature/inconsistent to broken.

I've used F# in a professional job and its fine - on very large scale apps for large corps. There's features in it that I feel make certain apps much easier to write that have no equivalent in C# or C# is just starting to get them. Its also easier to teach IMO than C# since code typically uses less concepts.

The usual features (e.g TP's) that are used to sell the language though I feel are oversold and tbh not the main reason F# users like the language - in fact I think TP's need an overhaul and are a distraction. Inlining code for math (which is just getting an equivalent like feature in the next C#), unions/records together, functions and type inference, leaning to compile time vs runtime dispatch in code style, etc I feel are where its strengths are at. More than features I've found for large scale projects its just easier to spot bad code in F#, less bugs have made it ot Production when .NET teams have tried it, and less of it makes it to code reviews.

I've found F# tooling at least for VS Code more stable than the C# equivalent. But that's not saying much - most languages plugins for VS Code don't feel that stable to me if not JS (e.g. the Java one used to crash on me all the time). In VS Studio, Rider, etc are options.

Documentation should be improved sure especially for people getting into it; but it is the smaller language and documentation goes out of date quickly. This obviously penalises the new starter without a mentor/senior dev to teach them in the job/elsewhere.

Re: .NET 6 is now in Ubuntu 22.04

#326
post #3

The .NET ecosystem is giving me a lot of confidence these days. I've been on this rollercoaster since .NET Core 2.x and don't think I will be getting off any time soon. We recently upgraded from 3.1 to 6, which was a total non-event. The code base that was around for Core 2.x is still the same one we have today. Some substantial changes made to the web interfaces and hosting, but nothing in the business logic or data…

> but there are only 2 minor methods stopping us from using a Linux image as well

As developer and systems engineer you should have been aware of that before starting your work. Now you are chained to the Windoes world and real computing environments are out of reach for your project.

Re: .NET 6 is now in Ubuntu 22.04

#327

Earlier quoted context omitted.

True, the non-Core versions really aren’t worth considering for a new dev entering the ecosystem, and MS has made it clear that .NET Core is .NET going forward.

ASP.NET is rumored to drop the "Core" name somewhere in major version 7/8/9, just as .NET dropped "Core" in .NET 5, which is a higher version number than both sides of the fork. There was briefly an ASP.NET 6 (technically, the baroque "ASP.NET 5 MVC 6"). There's never yet been a version higher than that. I think part of the hold up there were some builds of the old Entity Framework made to version 8 or 9, and ASP.NET…

EF Core is dropping Core on version 7, so November.

Re: .NET 6 is now in Ubuntu 22.04

#329
post #125

I've recently been working with a C# app that's based on a nearly out of support .net 3.X version I think. It's fully inherited from a tech partner, but we have free reign to modify it as needed. I was excited to try and port it from a Windows only older .net app to .net core 6, but unfortunately too much of it doesn't have a simple to port to equivalent in .NET 6 and it would require us to completely rewrite it. Thi…

> I really wish Microsoft would improve the install/packaging story for their C++ build tools on Windows. Not sure if this is what you mean, but vs_installer.exe supports command line arguments like --add, so you should be able to craft a giant command line for IT to copy. Used it for work for the NodeJS equivalent of your use case.

You can avoid the giant command line by providing a configuration file exported from a “known good” install:

From the installer GUI on a machine with the correct set of components installed, click the “More ▼” button, then choose “Export Configuration” and follow the resulting prompts.

Alternatively, the installer’s “export” command-line operation does the same thing.

To use the resulting config file, either supply its path using the “--config” option to the installer’s “install” and “modify” command-line operations, or apply it from the GUI by clicking “More ▼” and choosing “Import Configuration”.

This is also handy in non-IT deployments to quickly replicate an existing VS install on a new machine.

Incidentally, even if you are going to go with the “giant command line” approach, the export mechanism is an easy way to figure out a valid set of component IDs to supply on said command line, though it doesn’t necessarily generate the smallest set of component IDs able to produce a given configuration, due to the presence of workload IDs and the fact that component dependencies are automatically installed, even if unspecified.

Re: .NET 6 is now in Ubuntu 22.04

#330
post #89

Earlier quoted context omitted.

I knew there'd be at least one of you guys in this thread.

There always is. 1) Don't trust Go because of Google 2) Don't trust C#,F# because M$ (yes with dollar sign) 3) Don't trust Java because Oracle 4) You gotta use XXX tech, which has no jobs in your area Yada Yada... yet is probably using VSCode or GitHub. Just ignore it.

5) Trust Python because it's driven by a community, not a corporation ?

Same goes for trusting Vue.js instead of React (Meta) and Angular (Google).

Post reply on HN