需要满足以下五条要求 1 支持多范式编程,表达能力强大 2 充分隐藏计算机体系结构的细节,特别是内存管理等等的细节 3 生态丰富,有大量的工具和库 4 语法设计现代,代码较为简洁,开发效率高 5 具有先进的 完善的工具链支持 比如 编译器 IDE 调试工具 运行监测工具之类
目前备选 python java C# js php groovy ruby swift perl kotlin scala
请大家帮我做做排除法 或者分析一下 n 这些语言不符合上面哪些要 如果没十全十美的 或许可以矬子里拔将军 最后我能选出一个
![]() |
1
zhy0216 149 天前 ![]() ts 最好 不接受反驳
|
![]() |
2
shintendo 149 天前 ![]() 女人会辜负你,javascript 不会
|
3
liujavamail 149 天前
选 java 就行了
|
4
smallX 149 天前
rb 最好 不接受反驳
|
![]() |
5
3dwelcome 149 天前
RUST WASM ,write once, run everywhere.
|
![]() |
6
israinbow 149 天前
Swift 罢
|
![]() |
7
loading 149 天前
我建议 java 或者 java 塔,哈哈。
|
8
chnhyg 149 天前
|
9
Leviathann 149 天前 via iPhone
考虑到 2021 年连 Java 都在积极推进 pattern matching
而 kotlin 居然还没有 所以就不推荐了 |
![]() |
10
wonderfulcxm 149 天前 via iPhone ![]() “语法较为简洁”第一个排除 Java 好吗
|
![]() |
11
hsfzxjy 149 天前 via Android
rust
|
12
xsen 149 天前
asm
|
![]() |
13
musi 149 天前
javascript
1. 既支持面向对象又支持函数式 2. 内存管理细节无 3. npm 生态就不说了 4. ES+语法较为现代 5. 不需要编译,打包工具种类繁多,调试 node ,chrome 齐全 |
14
crackhopper 149 天前
我怎么觉得:“充分隐藏计算机体系结构的细节” 和 “代码较为简洁,开发效率高” , 这俩矛盾呢。说实话,C 语言更合适点?或者 C++。但我感觉两个代码都不简洁。有 GC 的,按照你的说明肯定要被排除,还剩个 rust ,我了解也不多,所以 rust 可能也是 ok 的。
|
15
crackhopper 149 天前
perl, groovy 我也了解不多。其他那些帮你排除,就剩 rust ,但如果更想了解 cpu 、编译器、系统这些底层,c 和 c++会更加带你走向深渊。c 的话可能得多看项目,c++光标准就可以把你搞晕了。
|
16
Leviathann 149 天前
@crackhopper 这意思应该就是要有 gc 的啊
有 gc ,所以隐藏了细节 |
17
crackhopper 149 天前
sorry, 我看错了,忽略我的!!!充分隐藏,我看成暴露了。对不起。当我没说
|
![]() |
18
ericgui 149 天前
rust
|
19
crackhopper 149 天前
@Leviathann 我看错了。囧了。
|
20
crackhopper 149 天前
没法删除已经说过的。。。那就是 java 上面的,能用 java 库的更合适。
|
![]() |
21
szxczyc 149 天前 via iPhone
看了一圈没有人推荐 Python ,语法简洁 Python 真的🉑
库也是非常多 可读性和开发效率非常高 |
![]() |
22
kebamt 149 天前
Go 语言不好吗?我下个月打算自学 Go 语言的
|
23
testlover 149 天前 ![]() 如果是自己玩儿 不当作吃饭的手艺 建议 c# 无所不能 性能 语法易读性 跨平台 ide 都很强
|
![]() |
24
masterclock 149 天前 ![]() Scala
所有条件都符合 |
![]() |
25
szuwl 149 天前
你说的这些要求 C++ 完美符合
|
26
yazinnnn 149 天前
kotlin 或者 f sharp
这两个接近满足所有要求 但是处于钻研目的,我建议你学 haskell 或者 scheme (或者 clojure ) |
![]() |
27
SmiteChow 149 天前
人生苦短 你懂我意思吧
|
![]() |
28
Mutoo 149 天前
Javascript 当之无愧
1 支持多范式编程,表达能力强大 ✅ 原型、OOP 、FP 都支持,非常强大 2 充分隐藏计算机体系结构的细节,特别是内存管理等等的细节 ✅ 脚本语言,自动 GC 3 生态丰富,有大量的工具和库 ✅ NPM 轮子数不清 4 语法设计现代,代码较为简洁,开发效率高 ✅ async generator 都有,代码可以非常简洁 5 具有先进的 完善的工具链支持 比如 编译器 IDE 调试工具 运行监测工具之类 ✅ 配合最强 IDE WebStorm 和 devTools ,调试优化各种方便。 |
![]() |
29
zhuangzhuang1988 149 天前 ![]() C#
|
![]() |
30
easing 149 天前
同建议 Haskell
|
![]() |
31
araaaa 149 天前
rust
|
![]() |
32
zjsxwc 149 天前
C++
|
![]() |
33
FanChen 149 天前
个人觉得要深入钻研的话还是 Haskell
|
![]() |
34
panlatent 149 天前
go 语言 ... 不推荐,perl 、php 、ruby 不推荐,java 不推荐
|
![]() |
35
Yc1992 149 天前
c++ 没跑了
|
36
ArcherD 149 天前
ocaml 。除了没有大量工具和库,别的都满足,库虽然少都是精华。
相关的生态:前端: rescript 、js_of_ocaml wasm: grain 硬件: hardcaml 区块链:tezos 及 ligo lang unikernel:MirageOS 逆向:bap 基本各种开发都可以覆盖了。 |
37
v2exblog 149 天前
直接 python 就完了
|
![]() |
38
liuhan907 149 天前 ![]() C#稍微有点不满足生态要求,不过反正也不差。我觉得 C#就可以。
|
![]() |
39
abersheeran 149 天前
推荐 Python ,虽然 JavaScript 生态更强但是有个问题,JavaScript 的 Feature ( BUG )太多了,如果你不想像背八股文一样去接受那些 BUG ,就不要太精通 JavaScript 。对外说会用就行了,就不会有人考你这些。Python 和 JavaScript 相似的地方有很多,基本精通一门,另一个就自然会了(指非 BUG 的部分)。
|
![]() |
40
pengtdyd 149 天前
没有人推荐 C ? 真是世风日下、人心不古啊 [dog]
|
![]() |
41
714105382 OP 感谢大家热情的回复,V2 人气还是很旺的!
其实主要是想熟练一门较为现代化的编程语言提升一下业务开发效率,楼主之前是写 java 的。 上面的备选方案是我对着较为流行的语言筛选过一次的,不能排除的留下来的。 排除 C/C++是因为这两个语言包含了大量的体系相关的语言设计,特别是内存管理。 Haskell 我有一门课上学过,Haskell 是一门纯 FP ,感觉面对实际应用还是有点复杂,另外 GHC 版本太杂了 XD Golang 是因为语法抽象比较简练,适合系统和基础组件开发,但是感觉表达能力欠缺,Golang 我写过一点点,但是感觉缺少一些必须的语法糖和现代语法机制比如 exception ,写业务感觉有点累。 |
![]() |
42
naga1003 149 天前
java 吧,万精油,其他有很多语言都比它高效,但是受众最广还是 java
|
![]() |
43
panlatent 149 天前 via iPhone
说下我的选择标准:能开发 web 且设施健全的,能开发带客户端的,有希望在浏览器中运行的,没那么复杂或者割裂的,具有静态类型的,具有泛型的或者解决有其他方案解决问题的。
如果是拿来吃饭的话,就别折腾了 该用啥用啥吧。 |
![]() |
44
diggzhang 149 天前 ![]() 来我们一起研究缝合怪 Scala
|
![]() |
45
lion9527 149 天前 via Android
看了 iOS 真凉了,swift 都没人提起🙃
|
46
Reid 149 天前
Rust 吧
|
![]() |
47
714105382 OP @Reid 听说 Rust 是一门非常好的新语言,不过听说 Rust 的精妙设计主要是为了在保证高性能的同时尽可能兼顾安全和表达能力?
听说 Rust 的内存管理模型复杂程度不输 C++。感觉和我想遮蔽内存管理细节的要求不太符合。 不过说实话我对 Rust 还是很有兴趣的。 |
![]() |
49
yewuya 149 天前
rust
|
![]() |
50
714105382 OP 大家可以报告一下不符合要求的各个语言的“痛点”来告诉我一下各个语言的不足,可能更有利于我排除。
比如以 Java 为例,Java 的语法确实不怎么简洁,开发效率相比于脚本类应该也不算特别高。 |
51
ArcherD 149 天前
以前听说 scala 有 2000 多个 issue ,现在好了直接放到单独的仓库里面去了,https://github.com/scala/bug 还有 1800 多个。
|
53
qibing2000 149 天前
@xsen 往下滚动滚轮时就在想:会不会有人推荐 asm ,果然出现了。哈哈哈哈!
|
![]() |
54
feikeq 149 天前
JavaScript
|
55
unintialized 149 天前
verilog , VHDL
|
![]() |
56
714105382 OP @unintialized 吐血......
|
57
yazinnnn 149 天前
F#比 scala 更缝一些,而且工具链比 sbt 好
F#缝了 C#的轮子 跨平台 性能 开发工具 Rust 的工具链 Go 的单文件部署 Haskell 的 monad 文化 python 的缩进 鸭子类型 编译时类型生成 |
![]() |
58
kiripeng 149 天前
golang 朴实无华的选择
|
![]() |
59
feather12315 149 天前
2 充分隐藏计算机体系结构的细节,特别是内存管理
只有 C 。其他语言与编译细节、汇编之间的鸿沟太大了。 |
![]() |
60
janus77 149 天前
支持多范式+现代语法设计,基本上只有新兴语言了
再加上生态丰富,只有 TS 了。。。。。 |
61
tjudqx123 149 天前
不考虑 golang 吗
|
62
cyspy 149 天前
全满足的也就 Scala ,虽然 Scala 有自己的问题。。
|
63
CodingNaux 149 天前
大佬最新的文章, https://coolshell.cn/articles/21672.html
好像是推荐 java+go |
64
ila 149 天前 via Android
第 3 点限制了很多选择,剩下 java,c#,python.nodejs 等
|
![]() |
65
Kininaru 149 天前
JavaScript 吧,我觉得挺符合的。语法简洁(箭头函数爽死我),用途广,库多( Nodejs ),不用垃圾回收,不用考虑线程(我觉得 JS 的并发模型和人的思维习惯挺像的)
不过为啥要隐藏计算机体系结构细节呢?你写程序本质上就是在和计算机对话,你不理解计算机,怎么写出好程序... |
66
exceldream 149 天前 via Android
这要求不是 scala 吗?
|
![]() |
67
714105382 OP @feather12315 大佬,我是要忽略这些细节啊,就是希望语言自己的机制能够处理好,不希望我操心,只关注逻辑本身就好。
|
68
tairan2006 149 天前
haskell
scala 深入研究能让你秃,来吧 |
![]() |
69
714105382 OP @Kininaru 主要是希望有 GC ,不需要陷入 C++那种级别的心智负担中,想找一个能够快速 coding 的语言。
体系本身确实要好好理解认真研究...... |
![]() |
70
714105382 OP @tairan2006 已经领教过 Haskell 的 Monad 之类的了,确实......
|
71
ArcherD 149 天前
关于 haskell ocaml 的大神的看法和比较。
https://discuss.ocaml.org/t/job-build-system-engineer-at-jane-street/8737/3 |
72
Ayanokouji 149 天前
深入学习啥,都逃不过 linux ,语法没啥好学的
|
![]() |
73
KousukeSakurako 149 天前
无脑 Python
|
![]() |
74
wxw752 149 天前 ![]() 活在当下,我选 Java
|
75
Tenlearn 149 天前
楼上说得对,我猜你也就想赚钱,市面上那几个语言一搜不有的是?深入钻研的话,直接看 Linux 、操作系统、计算机网络、算法,其他都是语法罢了
|
![]() |
76
Chingim 149 天前
为啥有人提 rust
rust 有函数式编程范式吗? rust 的函数式好用吗? |
![]() |
77
dwlovelife 149 天前
选 Java 为什么不选 Groovy ,完全动态,语法简洁,同样能跑在 JVM 上,同时也就是说和 Java 可以共享生态,Spring 类似的架子都能用!
奥我知道了,为什么这么多人不推荐了,因为不会,狗头 |
78
Konys 149 天前
楼主要钻研的话,Java 挺好的
|
![]() |
79
ErenJaeger 149 天前
人生苦短,。。。。
|
![]() |
80
qq73666 149 天前
炒股,,钻研技术能致富么?能财富自由么??
|
![]() |
81
psyche 149 天前
深入研究语言是什么意思呢?
是指研究语言设计, 编译器 /解释器结构? 学这方面不是要研究多个语言, 多一点好吗? 学习编程范式, 比如 FP, 用什么 JavaScript 和 Haskell 有什么区别? 语法不是看一下午文档就会了? 哪个语言不是图灵完备的? 用来解决实际问题, 或者研究某类具体问题, 应该什么合适用什么, 大而全代表复杂或低效. 建议先搞清学习目的. |
![]() |
82
ysc3839 149 天前 via Android
这些要求感觉只有 C++了……
允许不那么符合的话看看 Rust ? |
83
Pythoner666666 149 天前
@szxczyc 性能太差了 兄弟
|
![]() |
84
chocotan 149 天前
我自己玩会选择 kotlin, 干活儿还是要 java
|
![]() |
86
wangyu17455 149 天前 via Android
是基于 jvm 的语言,但不能是 java
|
![]() |
87
afirefish 148 天前 ![]() C# 加一票!
|
88
a1562619919 148 天前 via Android
@chocotan 干活 kt 不香嘛
|
89
NeezerGu 148 天前
刚想说钻研不选 haskell ? 然后就看到已经有很多人说了
|
90
seakingii 148 天前 ![]() C#
|
![]() |
91
TAFMT 148 天前
先能吃饱饭 -> Java
自己感兴趣 -> python |
![]() |
92
liubaicai 148 天前
ruby 是最好的语言,好到现有的项目都配不上它,所以我在用 js
|
93
Bazingal 148 天前
看起来只有 C#符合你的要求了
|
![]() |
94
duduaba 148 天前
自己玩玩就随便选,吃饭就 js ,不为啥,因为 js 学一个星期就可能找到工作,其他语言就难说了。
|
95
alexkkaa 148 天前 via Android
深入就不要选高级语言 汇编 c 搞起。除此之外你所有的需求 csharp 完美满足你
|
96
HENQIGUAI 148 天前
JVM 里面有你想要的一切。
|
![]() |
97
guanhui07 148 天前 via iPhone
python
|
98
cuminflea 148 天前
julia~
|
![]() |
99
ch2 148 天前
综合来看是 C#
|
100
nebkad 148 天前 ![]() C#
1. 支持多范式: 显然 C# 可以 OOP 也可以 FP ,元编程的能力很强,CodeGen 的能力也很强 2. 充分隐藏计算机体系结构的细节:C# 既可以写服务器(跨平台)、又可以写界面(跨平台),还可以写游戏( Unity )。甚至现代的 C# 你想直接操纵内存也是完全可行的。 3. 生态丰富:虽说服务端生态比不上 Java ,但也只是备份候选的开源产品不够多,而不是缺乏; 4. 语法设计现代: 多线程安全性比不上 Rust 但还是很能打的 5. 具有先进的 完善的工具链支持: 你总是有 VS 和 MS ,就看要不要加钱 |