BeautifulSoap 最近的时间轴更新
BeautifulSoap

BeautifulSoap

V2EX 第 266237 号会员,加入于 2017-11-10 15:25:23 +08:00
今日活跃度排名 5825
根据 BeautifulSoap 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
BeautifulSoap 最近回复了
@Pencillll 兄弟,建议重新捋顺一下整个话题逻辑。如果你还无法发现问题所在那我就在这帮你捋一下:

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

我这么给你总结后清晰了吗?然后问题回到和我对线的 @shintendo 兄弟,他从头到尾都一直只是在抓着我上面观点中的 b 进行攻(对)击(线)。是的,b 是一个攻击我观点的着力点,关于 b 的对线我是愿意奉陪的,但请问我的观点的核心是依赖 b 吗?我的核心观点依赖的是 a 。
你可以和我大战三百回合,假设最极端的我被说服了撤回了 b ,但这只反过来证明了 a 中我说 JS 的各种庞杂复杂的内容是客观存在的事实。
所以我才一而再再而三地要求亮观点,因为我无法理解,只对我 b 做攻击的人,到底是想从什么角度来驳倒我的观点,
@shintendo 还是那句话,请摆出你的观点。网上聊天反驳别人论据是可以的,但当一个讨论(对线)话题变得逐渐冗长话题原来越散时,一个人连自己观点都不摆出来那么我就觉得完全没有和这种人讨论的必要了。这也是我没有接着回复你反驳我的那个回复。因为我根本看不出来你到底想干嘛,所以对于该怎么继续这个话题也毫无头绪
@shintendo 你有没有发现一个问题,你越是反驳我,越是在证明“初学 JS 的心智负大”这点?我再在这问你一个问题,你反驳我究竟是在反驳什么?
我的观点很简单,JS 长久历史以来,语言本身缺陷,历史包袱,为了兼容,导致形成的各种奇奇怪怪风格和大量的语言功能至今都消解不掉,还必须去学去了解,对初学者造成了心智负担

而你在这反驳却在反驳什么,你反倒一个劲在为这些写法是正常的,没必要取消的做解释。对,这正是我想看到的,你越是卖命解释,就越是证明 JS 里这些奇奇怪怪的写法都是存在在,在你们 JS 程序员眼里这些都是利索当然的。也就越是在证明我上面提出的观点。“初学 JS 的心智负大”

JS 为了前端兼容,所以历史包袱非常沉重,这是前端特性决定的,所以“初学 JS 的心智负大”有问题么?所以我再问你,你在这反驳我到底是在反驳什么
@78786381 来,你倒是说说我给别人扣了什么帽子?
@shintendo

> 初学 JS 的心智负担在于 JS 作为一个 30 来年的语言,而且为了兼容各种浏览器的,几十年前老的写法用法依旧还保留着,而且很多写法你还不能不学,因为很多写法很多人都在用。然后几十年积累下来各种奇奇怪怪的写法,用法,功能,还有各种奇奇怪怪的符号能让初学的人学到头炸

看仔细了么, 我的观点都写得这么清晰了:“ (初 学 JS 的心智负担不在于语言本身缺陷或像 rust 那样设计到多深奥的知识),而在于源于各种历史包袱下大量的约定俗写法用法功能导致的心智负担”
都写的这么清楚了,我之后列举的所有槽点也都是围绕着我的观点进行的,所以我也就没多提 js 本身的缺陷,我这里说的都是初学 JS 的问题。so ,有问题?

的确像上面有人说的换一种语言相当于换了一种写法,不习惯会有压力这是正常的。但任何事都有个度,什么叫“语言改进了,但是我需要看旧代码”?只在旧代码里看到这些我就无所谓了,可是当年 JS 因为历史原因和缺陷,那些旧的写法、知识、用法随着语言改进,这么写的人越来越少了吗?
像我说的 const foo = () => {}; 还有 (function() {})(); 这种经典的为了规避问题的 JS 写法随着 strict 模式出现不用这么写了而绝迹了吗?并没有。现在不一堆人还在写这样的代码,而且可以预见的未来也不会消失。这不是光去看旧代码的问题,而是已经没有大量使用必要了还必须要了解适应当年为了规避问题养成的习惯写法。新的程序员更喜欢 function 等写法,夹杂着用旧写法的人,堪称美丽

再一个 async/awawit 出现后,喜欢 Promise.then().catch() 以及 Promise 里套 Promise 的人消失或者很少见了吗?虽然有时候的确有必要鼓捣 Promise 但很明显 js 程序员里,对 Promise 和 async/await 的选择并不是源于所谓的各自的使用场景

再一个 class ,ES6 里引入之后鼓捣 prototype 实现继承的人数难道消失了?虽然 class 本质是 prototype 套皮,的很明显后来有其他语言经验的人必定更适应 class 的写法,而另一部分人则更喜欢 prototype 。class 的写法和 prototype 两种截然不同的风格今后也会长期永久并存下去。你必须都会写都要了解

再一个 js 常年累月积累的各种语言特性和功能,上一次初学一门语言让我有种记不过来的情况还是 kotlin 。虽然 kotlin 也算得上是大量语法糖构成的语言,但在语言功能的记忆点上和 js 一比也是小巫见大巫

等等等等

这就是我说的,JS 学习上的心智负担
@DOLLOR 说得很好,这就是 js 程序员
@DOLLOR @shintendo 哦,那是我见识浅薄了。写多了静态语言的的确没见过这种世面多谢指点,谢谢

所以你们既然都没怎么吐槽我列举的其他 js 的槽点,我就意味着你们对我吐槽的其他点都没意见,对么?
@DOLLOR | 属于手滑了,而至于||,不好意思,你以为我是没见过逻辑或的操作符,而实际上我在跟你说的是 const result = "a" || "b" 这个写法里,reslult 的值为 "a" 而非 true 的反直觉||特性。判断左边元素真假然后返回右边元素,你跟我说这叫逻辑或,写了这么多年静态语言的我反正是不认的,python 等动态语言也没这么奇怪的逻辑或认。


> 我倒觉得`const foo = () =>{ }`比`function foo() {}`更好,后者会改变 this 指向,会提升变量,甚至在非严格模式下,会逃出语句块,重名不报错。

你看。你这就给大家解释了下什么叫 js 的心智负担
6 天前
回复了 jeremyding 创建的主题 职场话题 远程办公是什么体验
看人

我当年答辩完到找到工作期间 4 个多月没事情做,每天就是窝在家 吃饭 睡觉 写代码 玩电脑
花一两小时投简历找工作 傍晚出去跑个 20 分钟步
三四个月除了几次远程面试和每天去超市结账时跟收银员说的“谢谢”“给我塑料袋” 之外,基本没和任何人交流说话。
那几个月简直爽死了,至今还怀念那段时光

前几年新冠移情在家办公一年半,窝在狭小的房间一年半不怎么出门也很爽,放渴望社交的人那怕不是要死了

只能说人和人是不一样的
初学 JS 的心智负担在于 JS 作为一个 30 来年的语言,而且为了兼容各种浏览器的,几十年前老的写法用法依旧还保留着,而且很多写法你还不能不学,因为很多写法很多人都在用。然后几十年积累下来各种奇奇怪怪的写法,用法,功能,还有各种奇奇怪怪的符号能让初学的人学到头炸

|,||,??=, ??, !! 等等等等奇奇怪怪的符号

就一个异步函数,从古早的 callback 到后来的 Generator ,Promise ,再到终于初具人形的 async/await ,你终于以为可以一把 async/await 走天下了,结果是前面几种也全都要学和写,因为这几样东西现在依旧各自有非常多的使用场景。更重要的是有的人就是特别喜欢捣鼓 Promise 而有的人就是不想碰 Promise 只喜欢 async/await ,你必须都要会

再比开 strict 模式之前之后,js 行为简直就是两个语言。我至今还记得如果不开 strict 模式,就一个 this 的特性,都能让人眼前一黑

var 的的全局提升特性(谢天谢地现在终于用 var 的人少了,但各种小脚本或者内嵌 js 引擎里依旧 var 满天飞,你依旧必须学 var 这东西和里面坑)

再比如习惯了类继承概念的人接触用 prototype 实现继承的时候,一定也是学得非常难受。当然现在我已经 class extends 一把梭走天下了,prototype 让我碰那是不可能的

再比一个风格问题,箭头函数这东西的确是个好东西,但作为一个常年后端的人,看到别人经常满天飞的箭头函数依旧要扶额。普通定义一个函数都要 const foo = () =>{ } 这种写法,我虽然知道前端很喜欢这么干,但依旧觉得大受到震撼

再还有 Array.sort() 会把数组所有成员转换成字符串然后才做排序导致第一次用的人 100%中招出 bug 啊之类的都算小问题了
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1212 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 15ms · UTC 17:47 · PVG 01:47 · LAX 10:47 · JFK 13:47
Developed with CodeLauncher
♥ Do have faith in what you're doing.