@
qxmqh 人家是自己学着玩, 又不找工作. 整啥高并发分布式微服务云原生啊? 更何况微服务云原生最近几年都退潮了. 现在无论是大厂小厂都在去微服务. 还宣扬这些玩意. 更何况 golang 部署方便这点优势完全可以被其他编程语言用 docker 轻松抹平, 算不得什么优势. golang 唯一的优势就在于开发范式单一, 在大团队的背景下可以方便后期维护. 不至于跟 C# 一样你一个写法我一个写法. 但是一方面这种事情也简单, 其他编程语言的完全可以通过将编程语言的版本调到北京奥运会之前的版本来实现类似的效果 (取消语法糖, 只保留最基本的开发范式). 另一方面楼主也只是学着玩, 没必要当赛博苦行僧吧?
自己玩肯定是 C#
至于 go, 你把 C# 语言版本调成 C# 2.0 (2006 年版), 那写起来就有 golang 那味儿了.
C# 主要在于优雅, 语言表达能力强, 上限极高, 而且通用万能. 你想写 CURD 可以用 C#, 想搞机器学习可以用 C#, 做 WEB 开发可以 C#, IoT 可以 C#, 桌面端/移动端可以 C# (Avalonia), 游戏可以 C# (Unity). 尤其如果你还不是 Windows 环境, 偶尔需要给自己开发个工具软件用, 没什么比 C# 更合适的了. 你总不能拿 JavaFx 写界面吧?
NodeJS, 也算是一个方向, JavaScript 同样具备与 C# 类似的, 极强的表达能力. 很多 C# 可以轻松实现的效果在 Javascript 里也可以轻松做到. 而且 NodeJS 同样具备万金油的属性, CURD 能做, 网页也能做. 小程序能做, H5 也能做. 桌面 PC 能做, APP 也能做 (RN / Cordova). 只是 npm_module 有点恼人, 但是眼不见心不烦只要不总盯着也算不得什么问题. 至于性能, 你是学着玩儿的, 管他什么性能呢. 你要性能的话找 C# 去.
Golang 在国内商业场景上用的多, 但是论给自己用的话, Golang 可以说是一个很差的选择. 贫瘠的语法, 羸弱的表达能力, 没完没了的 if err != nil... 别人一句话 golang 要写一串. Golang 之所以流行本质上就是很多人看中了 golang 语法贫瘠简陋这点, 在大团队中如果每个人在实现同一种逻辑的时候倾向于不同的实现方式, 那么后期维护会不那么方便. 而 golang 的语法由于一视同仁的贫瘠, 所以无论是刚毕业的孩子还是干了十年的老油条, 写出来的东西都是类似的. 可能就会相对好维护一些. 但是你是一个人用, 你既不拿开发挣钱 (起码现在不), 又不搞什么团队, golang 的这些优点对你来说就完全是无意义的.
其实你还有个更好的选择: Python.
人生苦短, 我用 Python. Python 这门开发语言最大的优势就是简洁, 优雅, 表达能力强. 而且也可以通过 PythonQT 来做界面. 而且你既然会 Python 何不一条路走到黑呢.... 反正你又不指着写代码挣钱.
一直都是.
腾讯不管是 QQ 还是微信, 底层都是 C++, 不光后端, PC 端也是.
而且就算是改版后的 QQ 客户端, 其底层其实也都是 C++ 做的. Electron 只是最外面的那一层 Presentation. 早期的 QQNT 跟微信 Electron 版甚至有办法打开 DevTools, 然后就可以看到 Network 里没有任何的 XHR 请求. 所有的通信, 加密等等都是底层的 C++ 实现的. 要不为啥 QQ 能做到 "不管群聊刷的多快人多多, 内存始终在 200M 左右" 呢..
同样使用 Electron 开发的 QQ alternative -- Icalingua, 如果群聊刷的快点儿, 图发的多点, 哪怕你不看群, 它都会默默的把内存全都吃完. 吃到最后界面打开都卡的一批. 这就是差距