不为工作,就是自己玩
时间充裕,生活无压力。就是想突然想系统学一个。可以理解为找个网游自己打?

其实日常也写一些脚本、web 代码。但就是屎到不能再屎的那种。。。

想系统学一学。rust 怕学不懂,先放后面

node 其实是优选,但性能又担心不咋滴。。后期 v8 有没有可能雄起?

我知道我的能力,node 的瓶颈我遇不到,但就是想系统过一个语言,心里想的是学个差不多的。
目前这三个里大家推荐那个?

我拿 python 生成了包含 1000 万个随机数的 json,让 AI 生成公平的测试脚本。结果如下
c#解析 json 比想象中拉,但 AI 给了一些高阶建议修改。我也看不懂。。擦。。
D:\rust-learn\test>test.exe
Go 结果:平均值 50.0029, 标准差 28.8600
解析耗时:2237ms
计算耗时:7ms

PS D:\rust-learn\test> node .\2.js
Node.js 结果:平均值 50.0029, 标准差 28.8600
解析耗时:2111.59ms
计算耗时:25.53ms

PS D:\rust-learn\test> .\target\release\json_test.exe
Rust 结果:平均值 50.0029, 标准差 28.8600
解析耗时:361ms
计算耗时:8ms

PS D:\rust-learn\test\cs> dotnet ./bin/Release/net8.0/cs.dll
C# 结果:平均值 50.0029, 标准差 28.8600
解析耗时:2716ms
计算耗时:10ms

不为工作,就是自己玩?必须 c#,因为你还能顺便学 c 和 c++

不考虑 python 吗?好玩的东西比较多

node.js 或者 python
这两个胶水语言非常适合写各种小玩具,因为库非常丰富,不被缺轮子折磨
而且有各种云函数平台适配,可以把小玩具部署到互联网

性能不行吧。。自己写过一些单线程爬虫,就打算深入学另一门后,python 回头用 ai 写,自己配合着改改。。

好玩就应该学 nodejs ,前后端一把梭,全栈开发

不为工作那只有 c#

这三个里面,单纯说语言优雅 c# > go > js

C 井 = C + Java 32

Java 32 并非写错,而是我认为 Java 要出到 32 才能追上现在 C#的语言特性

自己玩要啥性能…有 js 基础就 node ,想做 Windows 系统相关的就 c#,喜欢研究 err 到底是不是 nil 的就 golang

要学就学 rust 吧,没啥入门门槛,高中毕业就可以精通了

Python

那个啥,都 2025 年了,C# 不只能做 windows 了……

如果是工作,那我建议不要当程序员,如果是玩玩,那都可以学。

论玩我建议 python 或者 js(electron/web),因为比较容易玩出效率工具。例如自动签到薅羊毛啥的。
当这玩意的成本(学习成本)下来之后你就有需求了

说真的, 小工具, 不需要放到服务器上的, python 搓得快. ai 代码提示也快.

需要放服务器, 还是 go 舒服. 二进制, 不用装依赖包. 实在讨厌在服务器上装 nodejs 和 python 环境. pnpm 还好点. pyton 还得启动时激活环境, 什么 uv direnv manager 之类的一堆. 部署到新平台, 又得重复来一套流程. go 直接运行完事了.

go 。原因:给人一种貔貅的感觉,干净,大牛多,社区讨论多(指官方 spec 及编译器),算是一个开源语言。

声明:以上纯个人观点,有夸张成份,欢迎指正

类似的情况,我最终选了 python

利益相关, 建议 Csharp, 只为兴趣, 楼主您可以体验到融合了 cpp 的优雅和 Java 简易的语法和编译环境(我用 csharp 之后几乎没遇到 clr 的问题)以及前后端的通用技能点; 额外为了工作, 未来楼主您可以享受到国内相对公平的竞争环境, 如果 dotnet 的招聘岗位为 Java 的 1/10, 那么应聘人数几乎是 1/20, 总之饿不死, xD.

必须 Rust 啊

c# 语言最简洁和现代 会 C 系列的语言学 C#几乎没有难度

System.Text.Json 库性能比 Newtonsoft.Json 好

要论语音的舒适度和优雅度,也就是写得爽,必须是 C# 了,而且也是跨平台全栈都能干,这么多年积累的库也很多

自己玩的话要部署东西用 js ,写个 html 就可以部署了。

推荐 node.js ,上手快,库又多又新。写脚本快快地,写项目也快快地,自己玩不需要考虑运行效率,要考虑玩得痛快。

自己玩推荐 C#,太优雅了,生态比不上 Java ,但该有的也都有。担心编程语言的性能,感觉有点杞人忧天。

自己玩肯定是 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 何不一条路走到黑呢.... 反正你又不指着写代码挣钱.

www.freecodecamp.org/
freecodecamp 最近在整合其平台上的全部教学,搞全栈开发者认证,反正是免费的,而且流程也没啥毛病,一关一关闯就行了。我建议任何零基础的想玩玩的都来试试这个。

虽然我用 csharp 比较多,但是 justforfun 的话我更推荐 nodejs

python 库多,RPA 神器,玩自动化办公首选

对各个语言的刻板印象(只谈缺点),供楼主参考:

C# 请参考该贴: www.hesudu.com/t/1102753
NodeJS:

  • 实际上主力用户还是前端
  • 模板、更多的模板,库、更多的库,编译时魔法、dirty hack 、monkey patch
  • 每天都有学不完的东西,但是学完也没用,因为等学完知识就已经被淘汰了
  • 和 Typescript 打架,和 read properties of undefined (null) 打架,和开发者工具打架

Go:

  • 什么都没有,什么都要自己写
  • 官方包搜索器基本是废物,找包只能上 GitHub 碰运气
  • 披着「性能高」的皮,实际上几乎没做任何语义优化
  • if err != nil return "", err
  • 错误其实就是字符串,但其实不是,快来看看我们总结的 10 种不同错误声明和处理方法

Rust:

  • 泛型,更多的泛型,This<Is<What<you::See>::In>, Rust>>
  • 每天花一半时间安抚编译器的情绪,并最终习得一个类型理论( Type Theory )博士学位
  • 编译很慢并且吃满你的 CPU
  • 为什么我用的每个包都在用宏?为什么宏有三种写法(而且没有官方文档)?

    看做什么,不是系统学语言而是系统学一块知识。

    golang, TS 都用 go 重写了😂😂😂

    人生苦短,我用 Python 。超多库快速实现你的想法。

    原来用 c#的人还是不少的呀 XD

    按你这描述我推荐你学 Python…

    Go 是一个语法特性仅仅比 C 多一点点的, 语法设计比较糟糕的语言.
    Go 的设计与目前计算机语言的发展趋势相抵触的,
    当然 Go 也有些优点, 但这些优点跟它的语法特性没关系.

NodeJs 比较偏向前端, 因为作为动态弱类型语言, 工程性是偏弱的.
NodeJs 的前端生态还是很丰富的, 所以适合往前端或者全栈发展.

C#是语法层面设计的非常好的语言, 可惜生态不占优势.
不过, 学习 C#能提高自己对编程语言的品味.

如果这三个里面非得选一个,
用来工作的话, 建议选 NodeJs, Worse is better.

用来学习, 无所谓哪一个, 毕竟一个好的开发人员, 不应该只学习一种语言.

那些只用一门语言的开发者,
就像只会用锤子解决所有问题的木工, 看什么都是钉子,
不仅如此,
还抱怨别人设计了螺丝刀, "根本就没有锤子好用, 锤子砸东西方便多了".

自己玩就 node ,node 性能不弱,不需要考虑性能瓶颈,尤其是你本来就写 web ,学习成本也低

脱离应用场景很难选
如果写游戏那就 c# 学 unity
如果想通用点 node python ,其实 python 更适合,不要小瞧 python 他只是下限低而已。
go 说实话如果不拿来纯后端没啥学得必要。个人可玩性太少

推荐学 C#,上手容易。

c#学了可以写桌面 gui ,还能写服务端

自己玩那必须是 C#啊。C#的语法加上宇宙第一的 IDE ,玩起来简直不要太爽

既然是玩的话,我还是建议都学了。因为这是没有目标的学习。无所谓好坏,恰好这些我都学过。其实语言只是一个语法糖,学再多,也就那样。什么性能,什么生态,在某个目标下面,都必须让步。
我们学习编程,是为了实现一个目的。比如快速做外包项目,我必须选择 node ,因为速度。前后端一把梭哈。先把钱拿到手。我要自己去实现消息通信,音视频解码,我毫不犹豫选择 go ,尽管语法是一坨翔,但为了借用他们的生态,捏着鼻子也会继续用。但,客户想要做一个 CS 客户端,C#就变成最好的选择,没有之一。现在流行的什么 electric,玩玩就好。遇到性能问题,一般人也很难搞定。
结论,既然玩,那就都玩玩。最终发现语法什么的,都一样。而计算机背后的生态工程才是深渊。比如,tcp/ip 协议,ide 版本,各类 sdk 标准库,还有现在流行的 ai

学 c#可以同时把 c/c++/java 的语法都学个至少一半,完美😂

个人建议是不要考虑性能,

  1. 一个语言的性能再低也是和其他语言相比(除非你代码写得贼烂), 对于最终做成的结果而言, 就算是 shell 的执行性能几乎都是可以接受, 甚至难以有感知
  2. 只要是性能问题都不是大问题, 因为经过这些年的发展每个语言都会有针对性能的优化和排查办. 因为你是打算系统学, 所以不存在说不知道怎么做或学不到的情况
  3. 你电脑的性能其实比预想之中要更好, 放手去干吧

所以我觉得 Python 是一个不错的选择, 因为完全是学来自己用, 而总的来说, 还有谁第三方库像 Python 这样全面? 说白了就是就算学了之后你没有达到自己最初的一些目的和想法依旧可以用来处理一些生活中的问题, 稳赚不亏.

用乔布斯老爷子的话:我们是有一个牛逼的需求,然后选择技术去实现,而不是有一个牛逼的技术所以我们去做点什么出来吧。

c#

学 python , 干嘛那么在意性能, 好用

听我的,学 go 。 我最近就在学 go ,之前的 Java C# OC Swift js 各种都是工作语言,学了 go 才知道,真 TM 简洁明了,天生带并发,各种大小工具都能做。

C# 大多都能做,想要性能就用 AOT 。

编译又快,还好部署,完全不依赖别的,天生高并发,学透了真的一招鲜吃遍天,左能完成普通的应用前后端开发工作,右能搞高并发 分布式 微服务 云原生 天生圣体。

自己玩还是学 nodejs 吧,我专业写 C#的,但是平时写着玩的小玩意还是用 node 方便,就像写一个重放网络请求,直接浏览器 f12 复制请求粘贴到 js 里就行了,都不用改什么,至于性能又不是写什么大工程,写点小玩意区别不大

如果主要是做一些带界面的 windows 的小工具,推荐 C#,如果是服务端,推荐 node ,如果是自己玩,推荐 python

其实有了 AI 辅助之后,语言这东西拿起来就用了,以前还得学个 4 、5 天才入个门,你只需要等 AI 写完之后 review ,学习,让 AI 答疑,弄懂之后微调就可以了。当然考虑到你还需要 review AI 的代码,不建议选择语法太花里胡哨的语言。

学几个语法能怎样?需要做什么事情,用到什么生态,就学什么

推荐 go ,简洁,不花里胡哨。看到有人推荐 Python ,但是弱语言类型以及语法糖和魔法方法真的让我看 py 代码奔溃

Python ,进能直接弃坑玩 AI promote ,退能折腾 Mojo 去。性能什么的都不是事,又没人出钱让你去优化服务器代码,自用的怎么简单怎么来。

我推荐 C#,我们团队都已经切换到 C# 了,.NET 8 写起业务来很爽,使用 Docker 部署到 Linux 下面跑,基本抛弃 Java 那一套笨重的东西了

这几个首先排除 go ,只有 c#和 js 是全知全能的语言,但 c#的上限更高,下到微信小程序 小游戏 app ,c#可以上到操作系统,至于性能 c#开发的 garnet 比 c 开发 redis ,c#开发的原神性能和稳定性远超 cpp 开发的后续二次元游戏,连黑神话悟空都用的 c#来写游戏逻辑层。

着实没想到,这么多推荐 C#的,泪目

c# 现在只有一个缺点就是 aot 还是预览版,没有铺满全平台

node ,,既能写前端、又能写后端,,甚至还能给 vscode 写扩展

如果没 gui 纯粹一些 cli 工具和家里软路由上跑啥的,那优先 go
如果以后可能 web 那就 nodejs
如果以后可能 GUI 和写一些图形化工具啥的,那就 c#

自己玩你应该尝试函数式 lang ,比如 cloujure

现在好多电脑上的软件都是用 Electron 写的了,,比如钉钉、腾讯会议、QQ 、vscode 、lceda

都不为工作了还考虑那么多干嘛……都试一下看喜欢哪个不就好了

自己玩就 python 吧,web ai 数据处理 样样都能做

无压力直接上 rust 呀,没必要畏难

人家是自己学着玩, 又不找工作. 整啥高并发分布式微服务云原生啊? 更何况微服务云原生最近几年都退潮了. 现在无论是大厂小厂都在去微服务. 还宣扬这些玩意. 更何况 golang 部署方便这点优势完全可以被其他编程语言用 docker 轻松抹平, 算不得什么优势. golang 唯一的优势就在于开发范式单一, 在大团队的背景下可以方便后期维护. 不至于跟 C# 一样你一个写法我一个写法. 但是一方面这种事情也简单, 其他编程语言的完全可以通过将编程语言的版本调到北京奥运会之前的版本来实现类似的效果 (取消语法糖, 只保留最基本的开发范式). 另一方面楼主也只是学着玩, 没必要当赛博苦行僧吧?

看隔壁,巨硬自己都宁愿用 Go 也不用 C#

c# 不解释

别犹豫,这三个语言都简单,一年能看学会做项目。

啥时候巨硬转 go 了, 巨硬一直都是 C++ 的忠实拥趸好吧.

不是 你激动个啥,啥又苦行僧了。

我没激动啊

那我推荐 Java, 直接从 Java21 开始,顺便玩玩 Kotlin, Groovy, Scala,Clojure ,如果只从标题中的三种考虑的话,优先 C#

python + javascript
python 应用覆盖面广,写小工具方便,日常对办公自动化帮助大。
再学点 javascript 写 web 应用,普通人就够了。

几个偏向
性能向是 go ,但你自己玩,真需要性能吗?
全能向是 node ,前后端一把梭,想跑就跑
AI 向是 Python

自己玩,首选 python ,门槛低、上限高,可盐可甜

先想想你自己要做什么吧
离开场景谈什么性能

应该是说最近的 TypeScript-Go 项目吧,C#创始人都不用 C#来重写,而是用 Go