* Posts by ftae

18 posts • joined 10 Jul 2020

.NET Core: Still a Microsoft platform thing despite more than five years open source


Re: Always seemed an uphill task

I'm just about done here, but allow me to leave you with something to think about as you wallow in your 4% market share and dearth of applications for the OS of your choice:

Maybe software developers aren't targeting your OS not because of the rounding error for a market share, but because they just don't want you as a customer. The nerdrage schtick that's prevalent in this community is becoming a bore.

Would you want somebody as pedantic as you are for a customer? Think about it.


Re: Always seemed an uphill task

>Wow, you must be tired from those gymnastics. I'm seriously going to print out a banner with that sentence and hang it up on my office wall. That's gold.

It seems that you're too dense to understand if you use a toolkit that is multi-platform it doesn't automatically make your application multiplatform.

Square this circle, dawg:

"just as Android applications run on top of a multi-platform Linux kernel but only on devices running Android."


Re: Always seemed an uphill task

The model uses the patterns of how people code by analyzing open source projects (i.e. coding style)--not the code itself. This complaint is so ridiculous, it's beyond words.


Re: Always seemed an uphill task

>You might want to ask the mac os team what they think of this novel philosophy you've come up with.

Most developers outside of Apple's walled garden couldn't care less about a framework that limits you to developing for iPhones, iPads, and Macs.

.NET Core is designed so that it can be used on targets where there will never, ever be a UI. There's no need for a UI toolkit on server or IoT device. ASP.NET Core is cross-platform web application toolkit built on top of .NET Core, but it isn't part of .NET Core because not all targets need to support web applications.

Anybody is free to add a UI toolkit on top .NET Core, and have it support Linux desktop. Not only would the .NET Foundation not object, I'm sure they'd sponsor it. But a UI toolkit no more belongs in .NET Core than GNOME belongs in the Linux kernel.


Re: What's up with non-.NET developers thinking?

>Take this doll. Show me where C# touched you.

LOL! But I think it's more like "where Bill Gates touched you".


>Building the entire thing from source (configure, make, make install) is not quite supported or explained on the MS pages (correct me if I am wrong), which is kind of common for open source code.

Is building the JDK from source a common thing too?


>1. most != all

Yes, in the same way that not all programs written for Fedora can run on Ubuntu.

>2. The SD card slots tend to be for extra storage.

No, they tend not to actually, unless they're ancient pieces of junk that should be replaced. And even if they don't, they come with 4GB internal flash MINIMUM.

>Or it might be that you're in a situation where you actually care about size.

IOW, the fact that you point out the most irrelevant constraint as something so important means you have an ideological bent.

>But nobody said it was their primary objection

It seems to be your primary objection because you really know very little about .NET, but you've probably heard about the size of the assemblies and now you're running with it. Seriously, if your sorry job requires you to write programs that are less than 28MB because your employer is too cheap to buy modern embedded equipment, go find yourself different career.


>So to summarise all that, what you're saying is that they're not compatible with each other.

Yeah, they're so incompatible that the tens of thousands of Nuget packages that can be used for multiple target frameworks are just a figment of my imagination.


Re: Unsurprising

>Like it or not, .NET core really is tainted by the word "Microsoft" and I think Microsoft knows that. Microsoft now has a huge financial interest in bringing Linux to them and to make that work .NET has to be nowhere near it, not even in a small print blurb, so expect .NET neglect from Microsoft .

Azure is growing like gangbusters, and now 50% of its customers' VMs are running Linux. The taint of the name "Microsoft" hasn't seemed to have turned off people interested in running Linux applications.


Re: Always seemed an uphill task

>Too many, in Microsoft's opinion, and that's why they neutered .NET 5 by making some targets only available on Windows, which more or less kills the entire multi-platform idea.

You must be referring to WPF. WFP is not part of .NET. When .NET 5.0 comes out, WPF applications will run top of a multi-platform .NET 5.0 but only in Windows, just as Android applications run on top of a multi-platform Linux kernel but only on devices running Android.

The restriction on where WPF applications won't make .NET 5.0 any more "neutered" than the restriction for where Android application can run makes the Linux kernel neutered.


Re: Always seemed an uphill task

>Fun fact: did you know that .net core doesn't include a cross-platform GUI library? Yeah.

Fun fact: Nothing considered "core" should have any GUI library. Yeah.


Re: What would be the point?

>Many people have said that ... but is that really anything to do with .NET, or is it that Microsoft have chosen to support .NET by providing a lot of programmer productivity tooling for C# (in particular) that they haven't provided for native code development?

It's a combination of few things:

- C# language itself has evolved over time with productivity in mind. From implicit typing with "var" to string interpolation to multiple return values in methods to out variable initializers, each version of C# has allowed developers to write much less verbose code.

- .NET assemblies are very feature-rich, which largely comes from it being so mature. Sure, .NET Core didn't start out that way, but it was really just a matter of porting the existing code over to the new assemblies. Since .NET itself is written in C#, I would imagine most of the work came in reorganizing the code into the new assemblies. What physical assembly files the code lives in may have changed, but the namespaces themselves didn't change much, if at all. System is still System and System.IO is still System.IO in .NET Core.

- The Roslyn compiler provides amazing code analysis capabilities that serve as the basis for much of Visual Studio's productivity features as well as those of third-party extensions.


>Further, there are still places where 60mb is actually pretty massive.

And those places are not usually candidates for greenfield applications. Stick to the maintaining your existing C/C++ code in those cases.

>Embedded jumps immediately to mind.

Most embedded devices come with microSD slots. microSD cards can go up 1TB these days.

If the size of the assembly is your primary objection to using .NET Core, your objections are pretty weak and probably just serves to hide some ideological bent.


>...and the smallest core piece of that weighs in at about 60Mb, still easily fitting into the parent's definition of "huge" and mooting your point. Thanks for playing!

I don't worry too much about storage these days, so I didn't know offhand if this was true. So I decided to create a self-contained .NET Core "Hello World" console app. Turns out that the executable is 28MB, along with a 1K PDB file.


".net core is not the same thing as .net. It's ~5 years old. 5. It's supposed to supersede .net and is not completely compatible, meaning that .net has effectively already been dropped."

The assembly file names from may have changed from .NET framework to .NET Core, but the namespaces have largely remained the same. Still, even in the oddball case where a class has moved from one namespace to another, it usually takes a simple modification of a using statement.


Re: What's up with non-.NET developers thinking?

He must think he was being really clever to have typed the extra characters in "pound" so many times in his post.


Re: .NET 5 betrays the multi-platform dream

"Now, with .NET 5 replacing .NET Core this isn't true anymore, because some of the targets (e.g. Windows Forms) only work on Windows, not on Linux and Mac."

This is like complaining that the Linux kernel isn't truly multi-platform because Android applications don't run on CentOS.

WinForms is a framework that can run on top of .NET 5.0, which absolutely is multi-platform, but the WinForms framework itself is not. Some frameworks that run on top of .NET 5.0 happen to be multi-platform, but that doesn't mean all frameworks built on top of .NET 5.0 are required to run on all platforms for .NET 5.0 to be considered multi-platform.

AWS attempts to woo devs with new tool aimed at porting .NET applications to Linux


Re: Why would I want to use .NET?

It's for people that already develop .NET. The better question might be: why would I want to use AWS when I'm already using Azure?


Biting the hand that feeds IT © 1998–2020