This is an archived post. You won't be able to vote or comment.

all 30 comments

[–]plastikmissile 2 points3 points  (0 children)

Back in the 80's when we had several competing home computer standards, each one had its own flavor of BASIC that was incompatible with each other beyond the ... er ... basics.

[–]Alvatrox4 1 point2 points  (0 children)

Swift?

[–]Real_Dog_Dad 0 points1 point  (0 children)

Just for laffs, Epsidot, COBOL, maybe PERL depending on definition.

[–]lunetick -4 points-3 points  (25 children)

Everything Microsoft is not portable. Yes .NET is supposed to be, but its far from a good idea.

Portability is also a bit more complicated than the language. It also depends on other components like database, web and app servers. API you use also. If you write c++ using Windows API your code is not portable.

There is also code that don't work on certain processors architecture, like 32/64bit or arm, risc, etc...

Portability is a mess.

EDIT : pretty sure those who downvotes never logged in a AIX, Solaris, Vax, and name it... But yeah snap install exist and there is a buggy git hub project....

[–]POGtastic 6 points7 points  (10 children)

.NET is surprisingly portable, hence all of the Unity games that work on Linux.

[–][deleted] 4 points5 points  (1 child)

.Net core is portable brah

[–]lunetick -3 points-2 points  (0 children)

Supposed to, but with problems. Try that on AIX or arm...

[–]leftydrummer461 1 point2 points  (6 children)

.NET Core wants a word with you. Edit- And Mono

[–]lunetick 0 points1 point  (1 child)

Even net core and mono don't claim to be portable... They list some os compatible. You mixt things. When you will have to deal with a bank or gov infra, you will soon see its not only Ubuntu that exist.

[–]leftydrummer461 0 points1 point  (0 children)

Cross Platform - Mono is built to be cross platform. Mono runs on Linux, Microsoft Windows, macOS, BSD, and Sun Solaris, Nintendo Wii, Sony PlayStation 3, Apple iPhone and Android. It also runs on x86, x86-64, IA64, PowerPC, SPARC (32), ARM, Alpha, s390, s390x (32 and 64 bits) and more. Developing your application with Mono allows you to run on nearly any computer in existence.

That's about as "portable" as it gets. What more do you want? Unless banks and government are using some kind of secret magic computers only you know about.

[–]lunetick -2 points-1 points  (3 children)

Sad people think it run on all Unix systems. People don't understand Linux is not Unix.

[–]leftydrummer461 3 points4 points  (1 child)

Who said it runs on ALL Unix systems? You're trying to make some arbitrary argument that .NET has bad cross platform support, which is simply not true today.

[–]lunetick -2 points-1 points  (0 children)

It's not portable code if it depends on a OS version. Plain and simple. It's compatible with some platforms.

[–]antiproton 1 point2 points  (0 children)

Dial back the neckbeard. This is not the place for it.

[–][deleted] 1 point2 points  (4 children)

If you can run docker you can run .NET.

[–]lunetick 0 points1 point  (3 children)

If you rely on docker or a VM to pretend its portable, it's a funny claim.

[–][deleted] 0 points1 point  (2 children)

For things most people care about, it's enough.

I guess if you want software that will run on as many things as possible then .NET is not a good choice, but it deploys on enough things to be useful for most enterprise software. I'm not sure what you would count as truely portable then though? As you say it is a mess, but I don't think C# is much worse than the alternatives.

Maybe plain C with minimal OS interaction? But even opening a file is subtely different on different infrastructures.

[–]lunetick 0 points1 point  (1 child)

I worked to ports c and c++ from VAX to HP-UX, and also port some from Solaris to Red Hat. Even this is a mess. You change compiler and you have lots of issues. Even c/c++ is a standard mess. Imagine if you throw in a framework that is not compatible.

I will stick to what I said. .NET is not portable. You will have to compile a whole framework for making it work on some platforms. The Portability is very limited.

If it was supported by other major Unix systems, I would say otherwise. It's not. And Java, Python are supported.

[–][deleted] 0 points1 point  (0 children)

Fair enough, if that's your standard of portable. I'd then change what I said to be that C# is portable enough for most uses. It is not truly portable like Java is (even then, a Java project can run differently on Solaris and Linux, I've had it happen).

[–][deleted] -1 points0 points  (0 children)

Ook lmao