JavaScript 比 C 有更重的心智负担, Jser 们别卷框架了,卷点语言吧

10 天前
 AceGo

语言要尽量贴近自然规则,规则定义越少越好。js 规则多,有些还毫无必要。用 0 表示 1 月这都什么规则啊,还有{}规则。

6484 次点击
所在节点    JavaScript
86 条回复
oamu
8 天前
@AceGo #27 JavaScript 和浏览器是深度绑定的,更换 JS 的代价太大了。打个不准确的比方,如果说后端换个语言是重新开发个软件的话,那么前端替换掉 JS 就如同重新开发个操作系统。
fuyun
8 天前
为什么几乎所有的编程语言的下标都是从 0 开始,而不是从 1 开始?如果我发明了一种语言从 1 开始,是不是更符合直觉、更贴近自然规则?
lyxxxh2
8 天前
@BeautifulSoap

我是后端,但我不赞同你说法。

1.
```
undefined | 4
undefined?.q
undefined ?? 4
```
这种后端语法糖后端也有啊。
挺多数据字段为空的情况,但是你又不能改结构,这时候就很有用了。


2. async/await 确实可以走天下。
虽有人喜欢 then,但是也没学习成本啊。
至于 callback,这程序员基操啊。

不捣鼓 promise 的,这还是个前端???
promise 属于前端基操。

3. 我没被 var 坑过,
后端的声明,不也是 var 级别的。
我不用 var 主要原因: 遵守最小权限。
至于坑是次要。

4. 我还真不难受,甚至还喜欢,不就是一个 流接口模式吗。
laravel 的 collection 也是这种模式。

data.filter(map(v => []))
->map(v =>xxx)
.reduct(map((v,result) => {},0))..

然后不用链,光是一个 filter 都要冗余的代码,更不用谈后续的:
new_data
for xxx i n xxx_data # filter ok
if xxx === 1:
new_data.push(xxx)

当然自己封装的模块,我更愿意用 class 。

5. 风格:
const a = q => q + 1
简洁至极,挑不出一点多余的。
至于理解,不熟悉的人可能难以理解,但是不熟悉谁也没救。

对我来说,比 function(){
return q
}理解快多了。



轮语言写法,我最喜欢 js 。

js 是世界上最好的语言,谁赞同 谁反对。
sMil3
7 天前
@lyxxxh2 俺也觉得 map filter reduce+箭头函数写起来又快表达能力又强
BeautifulSoap
7 天前
@shintendo 还是那句话,请摆出你的观点。网上聊天反驳别人论据是可以的,但当一个讨论(对线)话题变得逐渐冗长话题原来越散时,一个人连自己观点都不摆出来那么我就觉得完全没有和这种人讨论的必要了。这也是我没有接着回复你反驳我的那个回复。因为我根本看不出来你到底想干嘛,所以对于该怎么继续这个话题也毫无头绪
BeautifulSoap
7 天前
@Pencillll 兄弟,建议重新捋顺一下整个话题逻辑。如果你还无法发现问题所在那我就在这帮你捋一下:

首先再次重申一遍,我已经在一开始就明确地表明了我的观点没有任何隐瞒,我的观点总结起来就
a. js 因为长年历史包袱语言缺陷,导致多年来积年累月的各种写法尾大不掉残类至今,并且为了兼容,语言功能也极多各种机制极其复杂。虽然语言各自有自己风格,但 js 这方面的问题比其他语言严重不知道多少倍
b. js 目前保留的非常多和大量写法功能残留在我眼里都是非常奇奇怪怪的,让人辣眼
综上所述,我认为 js 作为一门语言,对于初学来说初学的心智负担非常大

我这么给你总结后清晰了吗?然后问题回到和我对线的 @shintendo 兄弟,他从头到尾都一直只是在抓着我上面观点中的 b 进行攻(对)击(线)。是的,b 是一个攻击我观点的着力点,关于 b 的对线我是愿意奉陪的,但请问我的观点的核心是依赖 b 吗?我的核心观点依赖的是 a 。
你可以和我大战三百回合,假设最极端的我被说服了撤回了 b ,但这只反过来证明了 a 中我说 JS 的各种庞杂复杂的内容是客观存在的事实。
所以我才一而再再而三地要求亮观点,因为我无法理解,只对我 b 做攻击的人,到底是想从什么角度来驳倒我的观点,

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

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

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

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

© 2021 V2EX