想深入钻研一门语言 请大家出出主意

2021-12-22 13:14:50 +08:00
 714105382

需要满足以下五条要求 1 支持多范式编程,表达能力强大 2 充分隐藏计算机体系结构的细节,特别是内存管理等等的细节 3 生态丰富,有大量的工具和库 4 语法设计现代,代码较为简洁,开发效率高 5 具有先进的 完善的工具链支持 比如 编译器 IDE 调试工具 运行监测工具之类

目前备选 python java C# js php groovy ruby swift perl kotlin scala

请大家帮我做做排除法 或者分析一下 n 这些语言不符合上面哪些要 如果没十全十美的 或许可以矬子里拔将军 最后我能选出一个

14168 次点击
所在节点    程序员
135 条回复
714105382
2021-12-22 15:10:33 +08:00
感谢大家热情的回复,V2 人气还是很旺的!
其实主要是想熟练一门较为现代化的编程语言提升一下业务开发效率,楼主之前是写 java 的。
上面的备选方案是我对着较为流行的语言筛选过一次的,不能排除的留下来的。
排除 C/C++是因为这两个语言包含了大量的体系相关的语言设计,特别是内存管理。
Haskell 我有一门课上学过,Haskell 是一门纯 FP ,感觉面对实际应用还是有点复杂,另外 GHC 版本太杂了 XD
Golang 是因为语法抽象比较简练,适合系统和基础组件开发,但是感觉表达能力欠缺,Golang 我写过一点点,但是感觉缺少一些必须的语法糖和现代语法机制比如 exception ,写业务感觉有点累。
naga1003
2021-12-22 15:12:31 +08:00
java 吧,万精油,其他有很多语言都比它高效,但是受众最广还是 java
panlatent
2021-12-22 15:14:55 +08:00
说下我的选择标准:能开发 web 且设施健全的,能开发带客户端的,有希望在浏览器中运行的,没那么复杂或者割裂的,具有静态类型的,具有泛型的或者解决有其他方案解决问题的。

如果是拿来吃饭的话,就别折腾了 该用啥用啥吧。
diggzhang
2021-12-22 15:18:59 +08:00
来我们一起研究缝合怪 Scala
lion9527
2021-12-22 15:19:08 +08:00
看了 iOS 真凉了,swift 都没人提起🙃
Reid
2021-12-22 15:19:38 +08:00
Rust 吧
714105382
2021-12-22 15:23:00 +08:00
@Reid 听说 Rust 是一门非常好的新语言,不过听说 Rust 的精妙设计主要是为了在保证高性能的同时尽可能兼顾安全和表达能力?
听说 Rust 的内存管理模型复杂程度不输 C++。感觉和我想遮蔽内存管理细节的要求不太符合。
不过说实话我对 Rust 还是很有兴趣的。
714105382
2021-12-22 15:23:59 +08:00
@diggzhang Scala 的生态怎么样?另外听说 Scala 的编译器不太成熟?是不是在工具链这个层面上有点欠缺?
yewuya
2021-12-22 15:24:52 +08:00
rust
714105382
2021-12-22 15:25:59 +08:00
大家可以报告一下不符合要求的各个语言的“痛点”来告诉我一下各个语言的不足,可能更有利于我排除。
比如以 Java 为例,Java 的语法确实不怎么简洁,开发效率相比于脚本类应该也不算特别高。
ArcherD
2021-12-22 15:29:36 +08:00
以前听说 scala 有 2000 多个 issue ,现在好了直接放到单独的仓库里面去了,https://github.com/scala/bug 还有 1800 多个。
714105382
2021-12-22 15:31:38 +08:00
@ArcherD 啊好的,看来 Scala 的工具链和成熟度感觉还是不太 OK 的,可以排除? 貌似语言上 Scala 是学院派。
qibing2000
2021-12-22 15:31:44 +08:00
@xsen 往下滚动滚轮时就在想:会不会有人推荐 asm ,果然出现了。哈哈哈哈!
feikeq
2021-12-22 15:33:04 +08:00
JavaScript
e9pWeUbh9PGCnp95
2021-12-22 15:35:10 +08:00
verilog , VHDL
714105382
2021-12-22 15:37:03 +08:00
@unintialized 吐血......
yazinnnn
2021-12-22 15:42:30 +08:00
F#比 scala 更缝一些,而且工具链比 sbt 好
F#缝了
C#的轮子 跨平台 性能 开发工具
Rust 的工具链
Go 的单文件部署
Haskell 的 monad 文化
python 的缩进
鸭子类型
编译时类型生成
kiripeng
2021-12-22 16:11:11 +08:00
golang 朴实无华的选择
feather12315
2021-12-22 16:18:12 +08:00
2 充分隐藏计算机体系结构的细节,特别是内存管理

只有 C 。其他语言与编译细节、汇编之间的鸿沟太大了。
rb6221
2021-12-22 16:21:43 +08:00
支持多范式+现代语法设计,基本上只有新兴语言了
再加上生态丰富,只有 TS 了。。。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/823731

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX