@
Leviathann 应该不用怀疑水平差距,react 那坨不理解 PFP 是基本别打算会用得顺的。
虽然这不代表 react 更顶用。
@
kwh 可以看懂一些 Android app 的实现以及自己写。现阶段新项目用 Java 可能会被鄙视。
另外 Dart 乱缝合特性的问题比 Kotlin 严重,只是表面上语法看起来更 Java 点。
@
dcsuibian 难道不是会越好奇怎么那么多那么弱鸡的山寨语言也意思好被发明出来么。
@
urnoob 看到那什么都往语法糖里装的用户就想笑。
保守估计这些用户中 90%以上既不懂什么叫语法(syntax),也不懂什么叫糖,经常性地混淆语义特性甚至把盐当做糖,
考虑到现有 PL 教学质量的垃圾,基本上语法糖这个词就是会自己实现语法糖的用户才顶用。
比如 Scheme 的卫生宏写成 API 就叫 syntax ,作为一线特性能轻易简化实现做出糖味,所以合格的 Scheme 的用户没有不会语法糖的。
如果 C/C++ ,那么得熟练用(不卫生的)宏提供 API 才会实现糖。但是语言规范中是不是糖的东西就未必理解的对了。
——比如说,C 的 E[p] 和 *(E + p) 因为语言规则钦定等价而能原地变换,这个明确是语法糖(虽然基本没什么甜度);而 C++ lambda-expression 因为一些 unspecified 的语义性质(比如 layout )不可能用等价的方式确保能用 C++ 或者外挂预处理阶段一对一翻译实现,所以就不是 C++ 的糖,不少半吊子 C++ 用户即便会玩宏也不理解这一点。
——(更何况很多用户根本就没意识到,C++ 里什么能叫 syntax 都是个问题。)
至于 Java 之流的所谓后端语言就更是笑话了,不仅没熟练看会 JLS 之类 spec 的要求就能上岗,语言里连宏那么弱鸡的造糖设施都没有。这样的用户,不到有本事自己发明语言自己实现的程度,何德何能脑补得清楚什么叫语法糖?
@
matrix67 “语法简单”就算了。
没有天赋一眼看穿文法设计的毛病也没自己独自写过严格符合 spec 要求的 parser 的,还是不要误导别人的好。
最简单地:C 的 syntax 都不是 CFG 能完整表示的。而且 normative 里的东西甚至还不都是 formal 的(像嵌套 if 这种)。
汇编五花八门的就更跳了。
另外别忘了 C 和一般汇编器还都是能预处理的。
@
zzzzzzZ 也不反省反省为什么会争得起来。
不就是到处水货还好意思逃避优劣标准?到底谁是巨婴?谁在制造巨婴?
@
yazinnnn paulg 其实挺水的,不过爆杀巨婴是绰绰有余了。
起码会去思考这个问题。
@
aguesuka 我怀疑还是有那么些思考的,否则不会那么容易理解翻车的地方取得一致。
只不过这种思考大致上的效果就是把 ISO C“编译”成谭浩强 C 这样自以为可以熟悉的劣等方言。
顺便,我是把代码使用的语言还原成λvC-derived calculi 来 reasoning 的,而且效率足够到让人看不出实现,所以足够应付陷阱——绝大多数语言作者还没这本事构造出这种方式处理起来麻烦的场景塞到语言设计里。
这也导致我天然鄙视 Java 之流非得多绕弯弯才能翻译得干净( reduce 到λvC ,不需要 PFP )的语言。不过,考虑到设计缺陷的客观性,这也基本上不算是偏见了。
不过,我同时看不惯所有类型规则不可由用户自定义编程的静态类型语言。(所以你所谓的“现代”语言的特征对我来说比较返祖。)