6 ms·
I think you mean 1 out of 4? Swift is the only one on that list that really feels tied to any particular platform. C# has been extremely portable for years no
by coder543 6y ago
I think you mean 1 out of 4?
Swift is the only one on that list that really feels tied to any particular platform.
C# has been extremely portable for years now thanks to .NET Core. Even SQL Server runs on Linux these days, if you really just enjoy spending money.
Java has always had a strong focus on portability, of course.
Nim... I don't know much about. Doesn't it compile to C? I don't think it intentionally has any particular platform affinity, although I wouldn't be surprised if it worked best on Linux.
- tomc1985 6y agoC# is tied to .net, and the cross-platform story on that framework is...complicated Java is tied to JVM Swift is tied to MacOS. Of course, with the exception of JVM, they are all nominally "cross-platform" in the OS sense of the word. But I haven't seen any substantial Linux/Mac .Net codebases yet, same with Swift on Windows
- travv0 6y agoThe cross-platform story of .NET hasn't been complicated in a while. It's fully cross-platform between Windows, Linux, and macOS and has been for a few years. Edit: I just saw the person that you replied to said the same thing, so I'm not sure why you're pushing that it has a complicated cross-platform story.
- tomc1985 6y agoSo... pretty much everything I could do on .net framework runs on Linux and Mac now? Even Winforms, or WPF? To be fair I haven't written .net code in like 10 years, and the docs explaining how to navigate the transition from framework to core were extremely confusing. Has that soup of different technologies solidified any?
- nullsense 6y agoThe docs can be summed up as: TL;DR rewrite it - there is no migration path!
- travv0 6y ago> So... pretty much everything I could do on .net framework runs on Linux and Mac now? No, which doesn't really matter since we're talking about .NET, not .NET Framework. Poor naming choice by Microsoft I guess.
- deleted 6y ago[deleted]
- rafaelvasco 6y agoC# ? Not complicated at all. In fact it's currently one of the most cross platform language/runtime in existence after .NET Core appeared, and now more than ever with .NET 5.0. I even managed to AOT compile code and run it without a trace of .NET. Just amazing.
- nonbirithm 6y agoC# is a really good language, but I had nothing but problems trying to develop with it on Linux exclusively. MonoDevelop doesn't support Linux anymore since a bunch of proprietary components were added to it (and this isn't even mentioned on its homepage), so you have to use a community fork. That didn't bode well for me. The fork didn't have packages for my distro and I couldn't get it to compile for two hours. VS Code wasn't much different, given I couldn't seem how to get OmniSharp working for my project. Eventually I found the only thing that worked half the time was Rider, which actually allows you to manage NuGet packages but costs $139. And still, I often had to load and unload projects or even create new projects entirely just to get it to find the new assemblies I added. It left a bad taste, but maybe that was because I wasn't using a distro like Ubuntu.
- Const-me 6y agoMatches my experience. Linux runtime worked great for me, SDK has not. To use it to full extent, I think you have to develop on a Windows PC with Visual Studio. However this way you can only debug on Windows i.e. if you want debugger, the project has to be runnable on Windows too.
- oblio 6y agoUse Rider.
- metaltyphoon 6y agoWhat a weird case. I have successfully used dotnet core on these distros (alpine, centos, fedora, debian, ubuntu) without a single problem. If you don't mind, what distro are you using ?
- socialdemocrat 6y agoSwift is not any more tied to macOS than C# is tied to Windows. Compiler LLVM and everything is open source and cross platform. Not all the libraries but that holds true for C# as well, last time I checked.
- metaltyphoon 6y agoC# (CLR specifically) is not tied to windows and hasn't been for a while now. Perhaps the last time you checked was pre 2016 ?
- dixego 6y agoNim does/can indeed compile to C.
- heavyset_go 6y ago> C# has been extremely portable for years now thanks to .NET Core. Even SQL Server runs on Linux these days, if you really just enjoy spending money. My experience with C# and .NET Core on ARM Linux is that it comes with a lot of crashes and segfaults. On x86-64 Linux it works well, though.
- Const-me 6y agoIn my case the ARMs were Raspberry Pi3, Pi4, and RK3288. Linux was Debian in all cases, and .NET was 2.1 and 2.2. Worked great for my use cases, only crashed when I screwed up with unsafe or unmanaged code. If your environment is anywhere similar, and you OK with .NET 2.1.18, you can try my package: https://github.com/Const-me/Vrmac/releases/tag/1.0 https://github.com/Const-me/Vrmac/releases/tag/1.0 Sources: https://github.com/Const-me/Vrmac/tree/master/net-core https://github.com/Const-me/Vrmac/tree/master/net-core