5 ms·
> Literally just ship the compiled Go binary for your app, everything is "batteries included" for the user. Doesn't matter if you're writing a simple CLI tool o
by philliphaydon 4y ago
> Literally just ship the compiled Go binary for your app, everything is "batteries included" for the user. Doesn't matter if you're writing a simple CLI tool or a server.
> It's cleaner and more robust to code and it's easier to deploy because of zero dependencies.
If you want clean and simple then C# does all this and is clean and simpler.
- spicyusername 4y agoThe biggest thing about C# (and it's .NET peers) that turns me off is the link to Windows and Microsoft. I don't like using Windows or Visual Studio for development.
- philliphaydon 4y agoI do most my .NET development on Linux… you don’t need windows or visual studio for like 6 years now. Edit: changed all to most as I still need windows for some c++ specific stuff at the moment.
- arcturus17 4y ago> Edit: changed all to most as I still need windows for some c++ specific stuff at the moment. What kind of stuff? I am going to invest heavily in learning C# and .NET in 2023. Anything that takes me out of Unix development and hosting would be a huge no for me. I get the impression you might be doing things at the edges that I might not ever encounter so you are not going to dissuade me, but I'm curious nonetheless.
- philliphaydon 4y agoHaven't found a way to build a C++ DLL on Linux that can be registered in Windows. So I keep my laptop dual boot to do Windows specific stuff. In terms of C# that's entirelly on Fedora right now.
- GiorgioG 4y agoYou can use Linux or Mac to develop C#/.NET apps with VSCode, JetBrains Rider, or even vim: https://github.com/OmniSharp/omnisharp-vim https://github.com/OmniSharp/omnisharp-vim
- christophilus 4y agoFor me, it’s the language complexity. For 15 years, I was nearly exclusively a C# developer. Since I moved on, it seems it’s gotten quite a bit of syntactic complexity. I also dislike the way you have to manage a sln file— which doesn’t work as well as Go & other more recent languages with my preference for simple editors. I also didn’t like the enterprisey culture that seemed to nearly always surround C# (this was maybe 10+ years ago, so this may have changed). All that said, C# + Visual Studio was a remarkably productive combo.
- kcartlidge 4y ago> For me, it’s the language complexity. I sometimes get the feeling I'm falling a little behind on the language features. Fortunately they aren't required, and the basics of C# (especially with Linq and generics) are so good that the newer features are benefits to discover as and when needed. Definitely agree with the solution files. Core is a little better in that at least in the project files there's no longer the repo churn as individual source files don't need to be explicitly listed. I quite like Go's modules, and especially prefer how you can redirect a Go module reference to point directly to a local version when you're working on it, rather than adding a local publish folder as a Nuget source in C#. Little things that add up.
- arcturus17 4y ago> For me, it’s the language complexity. For 15 years, I was nearly exclusively a C# developer. Since I moved on, it seems it’s gotten quite a bit of syntactic complexity. From the outside looking in - I don't know C# yet but I want to learn it in 2023, and I've been perusing docs and books - the language and ecosystem doesn't look much more complex than anything else I've worked with. It seems to have many features, but that's precisely one of the things that I'm looking for, personally. > All that said, C# + Visual Studio was a remarkably productive combo Most C# and .NET devs repeat this (though VS is replaceable with Rider), and honestly I'm too tired to care about much else so that's what I find appealing about it. I just can't bear the decision fatigue of JS (or even Python) any longer.
- kcartlidge 4y ago> I don't like using Windows or Visual Studio for development You don't need Windows or Visual Studio (though Visual Studio [ie not VSCode] is actually pretty good with the native Mac edition). I do a lot of C# (alongside mainly Go and Node) and the quality of the experience on a Mac is easily on a par, plus the language is much nicer in many areas than its peers (eg needing more than Go's maps and slices). It is Windows-first on the developer tooling, for historical reasons, but far from Windows-only these days.
- nephanth 4y agoUm last time I got interested in it you still needed mono for runtime the same way java needs a jvm. Is that not the case anymore ?
- philliphaydon 4y agoYou don’t need mono anymore as .NET 5 onwards (.NET Core previously) is cross platform. For deployments you can build self-contained which includes the bits required to run. So for example I’m building a little browser game in my spare time. It’s a web app and a service. So 2 components. They are deployed to (ubuntu server cos I’m waiting for Amazon linux 202# to release) which does not have the .NET runtime installed. It’s used the built in kestrel server to accept web requests. So no nginx or Apache or anything. Tho I would prob add nginx if the server was public facing but since everything goes via a load balancer I don’t bother.