4 ms·
C#/F# being Windows languages is plain false; they have been cross-platform FOSS for just under a decade. TypeScript has a good number of features you're talkin
by pie_flavor 4y ago
C#/F# being Windows languages is plain false; they have been cross-platform FOSS for just under a decade. TypeScript has a good number of features you're talking about, but I still wouldn't use it myself, because it is only a static checker on top of a much worse underlying system, and the static checker has plenty of holes big enough to fit serious problems through. Your best option as far as I can tell is Swift. It checks all the boxes, and in fact cribs quite a bit directly from Rust; its package repository is serviceable, if light on more niche use-cases; and it has supported Linux for quite some time, and recently started supporting Windows (though not the package manager, so not really).
But if Windows support is more important than a little bit of cognitive overhead? Just stick with Rust. It works, it's all the good things with few of the bad, it's more maintainable than anything mentioned, and the best language to write anything in is the language you already know.
- hedora 4y agoI tried to write a little Linux utility that would walk the filesystem in C# a while back. It convinced me the language doesn't really support Posix systems after all. (Obviously, Linux software that's been written in C# exists; maybe I was using the wrong standard library or something. I went with whatever Microsoft's documentation suggested.)
- icambron 4y agoYeah, this is mistaken. At my last job we deployed tons of c# on Linux. The .net ecosystem is a little complicated because of the slow convergence of its std library and runtime (.net core, .net standard, .net framework, .net), but as of a few years ago a bog-standard .net app did everything you’d expect on any computer.
- spoils19 4y agoI'd rather believe hedora who has given a concrete example, sorry.
- blandflakes 4y agoWe've been running a production web service on .NET core on Linux for over a year. We develop, compile, and test this service in macs, build the docker containers on linux, and run on Linux.
- pie_flavor 4y agoI define 'concrete' a bit more strictly than 'I tried it and it doesn't work'. No description of what kind of strange behavior was observed. That ticks over between the likelihood Microsoft got their code wrong and the likelihood insert random HN user got their code wrong.