1
encro 2022-05-06 11:58:58 +08:00
请问 rust 那条语法难看?
|
2
mxT52CRuqR6o5 2022-05-06 12:01:13 +08:00
js 我听到的批评都是哪里哪里 feature 设计不合理,语法难看还是头一次听说
|
3
noe132 2022-05-06 12:03:19 +08:00 via Android
其实我就只觉得 double colon 用作 namespace 分隔符太丑了,而且还尤其是有泛型的情况下。敲起来真的麻烦。
https://turbo.fish/ |
4
vinsony 2022-05-06 12:03:27 +08:00 3
难道只有我觉得 js 的语法很爽?
|
7
cht 2022-05-06 12:14:28 +08:00
|
8
zhuangzhuang1988 2022-05-06 12:14:55 +08:00 1
不是 rust 之父又不是 js 之父 https://zh.wikipedia.org/zh-cn/Rust 叫 Graydon Hoare
|
9
JohnSmith 2022-05-06 12:17:31 +08:00 2
js 那叫混沌
|
10
Clarke 2022-05-06 12:18:01 +08:00 12
前端还萌新就来指点江山
|
11
abcysn 2022-05-06 12:18:44 +08:00
看久了习惯了就不觉得难看了
|
12
sosilver 2022-05-06 12:19:50 +08:00 via Android 1
rust 语法算好的了,zig 、go 才叫难看
|
13
HeFengzz OP @zhuangzhuang1988 我大意了,不知道在哪看得文章来的
|
14
lijiangang886 2022-05-06 12:24:30 +08:00 5
#7 成功了
我喜欢分号和大括号,厌恶用强制缩进来控制代码结构,所以 python 傻逼 |
15
pengtdyd 2022-05-06 12:29:22 +08:00
Rust 的语法难?你怕不是没有写过汇编!
|
16
ViriF 2022-05-06 12:41:23 +08:00 via iPhone
老哥们的评论给这个话题注入了灵魂,但是我总感觉 OP 发话题的历史有些…微妙的水贴感
|
17
yazinnnn 2022-05-06 12:47:40 +08:00
op 觉得什么语言的语法好看,说出来让大家笑话一下.
|
20
v2defy 2022-05-06 12:53:00 +08:00 1
我觉得难不难看是习惯和惯性问题,以前我觉得 go 的风格是真的清晰精炼简洁,看 rust 觉得好丑,觉得蛇形命名法不如驼峰命名法好看,就不想学 rust 。
但网上 rust 吹实在太多了,让我觉得不学不行,加上 go 用久了让我觉得有些限制,比如 go 不是想写啥写啥,我想写个 gui 程序就很难找到合适的框架,fyne 之类都挺丑的。go 里稍微复杂点的操作都要使用反射,反射的性能貌似不高,而且挺丑的,还有 if err != nil ,是真的多,不好看,重复代码太多了。还有我觉得 go 语言不能让我学一辈子,以后早晚会接触更深入的东西,那 rust 就是早晚要学的。 通过搜索想解决“觉得 rust 蛇形命名丑,不想学,怎么克服这个心结”这样的问题,看到了这个帖子 https://rustcc.cn/article?id=fa10d8d8-23a6-42f3-9c9f-2f65c8bd9961 觉得说得很对,不能因为小石头,阻挡了前进的道路,心结瞬间打开了,再学的时候就不觉得 rust 丑了。现在已经入了一点点门,写了几百行代码,感觉 rust 其实也不是太丑,一开始是因为看不习惯,而且迭代器是真的好用啊,代码像上了流水线一样,一句里可以做那么多事情,省了多少 for 循环呀,代码信息密度高,就算真的丑点,也能忍过去。 |
21
duke807 2022-05-06 12:53:52 +08:00
js 用 async await 之後,還是很好看的
python 我也喜歡 rust 丑的我無法接受 |
22
uni 2022-05-06 12:54:57 +08:00 1
上面有人提到分号,分号在 rust 里面确实很有问题,在于 rust 写分号与不写分号都有语义且语义不同,经常就遇到哪个地方忘写了个分号于是编辑器的 linter 就直接报错,一大片一大片都是红的,让人很难定位问题出在哪里,经常写着写着就怀疑人生
这是我到目前为止觉得 rust 最傻逼的地方,不知道以后会不会有解决方案 |
24
BBCCBB 2022-05-06 12:56:25 +08:00
js 那个人只是中途加进去的,
这几天我也在学 rust, 感觉很舒服.. |
25
timpaik 2022-05-06 12:57:43 +08:00 via Android
为啥不写
let hello = "hello world"; |
26
jasonkayzk 2022-05-06 13:10:25 +08:00 1
Option<Rc<RefCell<Node<T>>>>
|
27
ncepuzs 2022-05-06 13:11:54 +08:00 2
神他妈 Rust 和 JS 创造者是同一个人
|
29
Mexion 2022-05-06 13:39:48 +08:00
js 的语法很好看啊,都是从各种语言的精华里抄,哪里难看?
|
30
charseer 2022-05-06 13:43:58 +08:00
rust 是我见过利用符号最多的语言。。。
|
31
agagega 2022-05-06 13:44:26 +08:00 via iPhone
JS 语法不算难看,OCaml 也挺优雅的,Rust 这个一堆符号是不是受 Perl 影响了
|
32
FightPig 2022-05-06 13:55:57 +08:00
rust 我比较受不了的是编译在点慢,搞来搞去又搞 go 去了
|
33
xFrye 2022-05-06 14:09:34 +08:00
一时间不知道从哪里开始吐槽。。。
|
34
junnplus 2022-05-06 14:11:41 +08:00
一时间不知道从哪里开始吐槽。。。
|
35
musi 2022-05-06 14:21:38 +08:00
这是前端没学好又去祸害 rust 了?
|
37
IvanLi127 2022-05-06 14:38:58 +08:00
|
39
Observer42 2022-05-06 15:06:30 +08:00
一时间不知道从哪里开始吐槽
|
40
bertonzh 2022-05-06 15:07:44 +08:00
Rust 语法中那些看上去难看的东西,主要是生命周期、引用相关的,和 JS 乱七八糟的历史特性没啥关系。
|
41
Highlights 2022-05-06 15:11:25 +08:00
真正的大师永远怀着一颗学徒的心
|
42
sheep3 2022-05-06 17:29:34 +08:00
这算啥难看?.......
动态类型语言写多了吧 |
43
MinQ 2022-05-06 17:55:50 +08:00
@jasonkayzk 看到这个哇的一声就哭了出来
|
44
chuanqirenwu 2022-05-06 18:08:07 +08:00
写 rust 我觉得挺开心,表情包很丰富,一会哭一会笑,充分体现当时写代码的心情。<_>, >_<
|
45
libook 2022-05-06 18:46:40 +08:00 4
做过 7 年的 JS 全栈开发,曾深入关注 ECMA-262 的各项提案,比较深刻了解到的情况是,ECMA-262 标准的制定机制使得它更新很快,JS 的很多特性都是从其他语言去其糟粕取其精华的(比如你能看到很多从 Python 、Ruby 等语言吸纳过来的特性),所以能保持对时下普遍开发模式、业务场景、开发需求的适应。我是感觉平时看到的对 JS 的批评要么是偏见,要么就是源自于批评者自身对 JS 掌握不够扎实。
与之形成鲜明对比的是 Go ,个人学习 Go 的感受就是部分特性相对比较不灵活和“落后”,但这也正是 Go 能成为企业协作开发利器的原因所在。 学习 Rust 给我的感受就是,我看到了很多“先进特性”,这种感受就跟我看 ECMA-262 各项提案的感受一样,而且很多特性初看的时候觉得晦涩难懂,但彻底弄明白之后又觉得设计巧妙,我在学的过程中反正是连连称妙的。 但同时 Rust 的特性和语法糖比较多,而且很多语法是使用各种符号而不是英文单词,同一种符号在不同特性中可能表达不同功能,阅读起来可能不是那么人类友好。有可能用多了习惯了就好了,而且 Rust 本身很灵活,代码应该总可以优化到各方面比较令人满意的程度,只要投入够多的设计精力。 以强类型语言的要求来看待弱类型语言、以脚本语言的要求来看待系统开发语言、以一门语言的使用习惯来看看待另一门语言,个人感觉都是不大公平。 |
46
pmispig 2022-05-06 19:49:38 +08:00 3
rust 的功能很先进,但是这个语法和符号真是屎一样,一片代码看上去全是乱七八糟的符号,我敢说要不是键盘上只有这么多符号,不然可能会有很多
|
48
skies457 2022-05-06 22:09:56 +08:00 via iPhone
go 1.18 带个 functional 的库(比如 lo )照样能写得很花....
|
49
Tazi 2022-05-06 22:32:58 +08:00 via iPhone
要说丑的话 感觉只有生存时间比较丑
|
50
gowk 2022-05-06 23:45:59 +08:00
|
51
angrylid 2022-05-06 23:47:33 +08:00 via Android
@v2defy Go GUI 恐怕还是开个 HTTP 服务器,浏览器访问 localhost:8080 吧😂
|
52
cybird 2022-05-07 00:40:17 +08:00
哈?语法难看......?行吧,审美是个人自由,不做评价
|
55
VchentozV 2022-05-07 08:04:35 +08:00
请问 JS 哪条语法难看?
|
56
Tazi 2022-05-07 08:15:57 +08:00 via iPhone
|
57
encro 2022-05-07 08:40:38 +08:00
@HeFengzz
你大多数时候完全可以 let hello = "hello world"的啊,只有必须用生命周期的时候才用。 教程都写了,应该避免 static https://rustwiki.org/zh-CN/book/ch10-03-lifetime-syntax.html 静态生命周期 这里有一种特殊的生命周期值得讨论:'static ,其生命周期能够存活于整个程序期间。所有的字符串字面量都拥有 'static 生命周期,我们也可以选择像下面这样标注出来: ``` let s: &'static str = "I have a static lifetime."; ``` 这个字符串的文本被直接储存在程序的二进制文件中而这个文件总是可用的。因此所有的字符串字面量都是 'static 的。 **你可能在错误信息的帮助文本中见过使用 'static 生命周期的建议,不过将引用指定为 'static 之前,思考一下这个引用是否真的在整个程序的生命周期里都有效。你也许要考虑是否希望它存在得这么久,即使这是可能的。大部分情况,代码中的问题是尝试创建一个悬垂引用或者可用的生命周期不匹配,请解决这些问题而不是指定一个 'static 的生命周期。** |
58
memorycancel 2022-05-07 09:26:37 +08:00
|
59
AlisaDestiny 2022-05-07 11:39:01 +08:00
想喷 Rust 你没掌握精髓啊,好好跟这位学学 https://github.com/mTvare6/hello-world.rs
|
60
hevi 2022-05-07 11:51:05 +08:00 1
我觉得 rust 的宏的语法看着才真难顶。。
|