92 分 | 关注 @agc93 布里斯班, AU Alistair Chapman 是一位信息安全工程师、.NET 开发人员和技术架构师。虽然他目前在 Red Hat 工作,但他还做过从网络工程到 DevOps 转型的所有事情。 不工作时,Alistair 活跃于 .NET 开源社区,包括维护 Cake(一个 .NET 基金会项目)。所有观点仅代表我个人,不代表 Red Hat 的观点。 开源爱好者 作者 DevOps 云 开发者 Docker Fedora
撰写的评论
实际上,我非常喜欢 Go 及其原生编译方法! 我也坚信选择,并认为开发人员现在在跨平台领域有更多选择是很棒的。
虽然我同意 Go 有一个很棒的跨平台解决方案,但 Go 和 .NET 是非常不同的语言、平台和生态系统。 例如,C# 是一种功能非常齐全的语言,具有泛型、异常、原生异步支持、重载和可空类型; 据我所知,Go 没有这些。
同样,NuGet 包生态系统是 .NET 平台的重要组成部分,而 Go(按照惯例)倾向于尽可能避免依赖项,并且肯定不会像 .NET Core 那样内置对包管理的支持。
相反,在 Go 中开发时,使用低级原语(如指针)、一些异步结构(使用 goroutines)和接口实现(因为它是环境的)都比 .NET 容易得多。
我当然不想暗示 .NET 是适合每种开发人员或每种用例的正确解决方案,但我想证明开发人员现在在独立的跨平台开发方面有额外的选择。
.NET Core 可能有很多优点,但它肯定不是“无关紧要、无效和过时的”,它只是不适合每种用例的正确解决方案。
希望有帮助!