Hacker News new | ask | show | jobs
by not-a-good-bet 642 days ago
Having built "enterprise" software for many years, due to very specific requirements, i had to use several languages and techs in a single project like: go, rust, C/C++, java, and .net.

Guess which one is the only one which is a totally pain in the ass to maintain... Yeah, that is C#. As soon as a version is deprecated, we need to scramble around to find out which next version is the minimal supported by all of our customers.

Already did a full migration to latest version once, and was a total pain... customers having to install the .net framework and not having the prerequisites, or installing any other software that conflicts.

Zero problems with any of the other techs. So yeah, now we are building those .net components in go so we can ditch .net for good.

This is a desktop application, so, sometimes we have little control on the end user machine, but, well, even when we coordinate with customers for an entire year, it is difficult to predict what microsoft will do with their prerequisites in the future.

Our software has been on the market for over 25 years so far, and we do see the same problem with other companies developing .net products, since they will usually conflict with us. Some customers just give up and have specific computers to run .net specific features, not the best solution but at least a solution.

3 comments

Never found that part much of an issue, there’s good support for installing redistributable packages on Windows alongside the application in all the installer frameworks I’ve used.
It is trivial to include .NET with your app since I think .NET 5.