建了一个 Telegram Channel 用于发表个人观点:https://t.me/yachme ,欢迎订阅。
另外也有部分长文内容会发表在 Medium 上:https://blankwonder.medium.com 。
个人 Blog 的优点是充足的自由性,但是不利于和读者互动,点赞与评论都很麻烦,一些插件方案也不尽人意。我的 Blog 以后主要用来发表一些不需要讨论的技术教程类内容。
建了一个 Telegram Channel 用于发表个人观点:https://t.me/yachme ,欢迎订阅。
另外也有部分长文内容会发表在 Medium 上:https://blankwonder.medium.com 。
个人 Blog 的优点是充足的自由性,但是不利于和读者互动,点赞与评论都很麻烦,一些插件方案也不尽人意。我的 Blog 以后主要用来发表一些不需要讨论的技术教程类内容。
前几天有见到讨论,为什么现在网络讨论环境变得如此糟糕,各种让人感到不适的言论层出不穷,随便一句话都能吵得不可开交。
我认为,这真的是互联网时代的问题,和群体素质是否变化关系不大,回想下从小到大,身边各种亲戚朋友同学里,不也有很多和网上见到的一样「傻逼」的人。(不用去纠结怎样定义傻逼谁才是傻逼,每个人自己心中自有标准,不要求统一。)
在现实中的交流更多的靠人以类聚物以群分,当你认识到他是个「傻逼」后,自然就和他拉开了距离,避免产生交流。所以这种人的言行不会对你产生过多影响。
在 Twitter 和微博这种新型的信息结构的 Web 2.0 时代,问题更为激化:
另一方面,由于网络交流中匿名性,且对话者间的生活可能毫无交集,这使得部分人在发言时十分放肆,因为不管说什么都不会承担任何实际后果。通俗点来说:如果有些人现实生活中这么说话,早被打了。这种因为对自己没有影响就恣意妄为的心理,非常丑陋。
总觉得现在中文世界中 IP 一词所表述的意义,和原英文 Intellectual Property 已经完全不一样了。大概的搜索了下确认了这个想法,英语世界里用到 Intellectual Property 一词时,基本都是和知识产权保护相关的事情,远不及现在中文用到 IP 时所表述的那么宽泛。
我曾经说过很不喜欢 IP 这个词,听一些投资人提「大 IP」这种词时总会眉头一紧,感觉将一些本身很有趣的事情立刻变得世俗化。这个感觉应该是因为 property 的可转移和可交易性导致的。而事实上,创作者和创作本身是密不可分的,一旦进入了这种原作者已经不在乎,可以卖给别人去随意改动的状态,那么这个创作也就走到尽头了。
还有些新兴词汇也值得思考,这些词汇得以流行其实反应了一些社会现象:
有多种用法,一个常见用法是指发言者的推断或观点被事实证明是错误的。
我不喜欢这个词,一方面,人非圣贤孰能无过,没有谁会是永远正确的,认识到错误后改正即可,发表了错误推断或观点很正常,那些死不认错的行为才值得批判。
另一方面,世界很复杂,有时进行的推断是一个基于概率的高可能性判断,然而即使你有充分的理由认为有 99% 的可能性得到结果 A,结果事实却正好落到了 1% 的结果 B 上,于是就被人说打脸了。
其实思路比结果更重要。打脸这个词过分强调了结果的重要性,一个观点的产生就和解一道数学题一样,过程对了结果算错了,一般扣个一两分就好。而过程错了哪怕结果对了,零分。
所以,真没必要去说别人被打脸了。
我观察了大量被称为杠精的言论,总结出了以下共性:
这个词本身表达的内容我觉得是有讨论意义的,但是被用的乱七八糟,什么事情都往上套。
我来给出一个我对的内卷这一词的理解,先举个大部分人都接触过的例子:高考。
高考是一个竞争性比赛,最后的省内名次是最终结果。地区配额不会因为今年这个省考生成绩普遍好所以增加。
有些省竞争激烈,高三学生早上 6 点起床做题。而有些省相对轻松,高三也还能有些素质教育和课外活动。
但是在轻松的省,一旦有部分考生开始采用更激烈的竞争手段,如补课、抛弃一切备考外活动等,该省其他学生最终也不得不采用同样激烈的手段去竞争。
这导致原来可以轻松考上好大学的考生也必须经过炼狱难度,然而得到的结果却是一样,因为结果只在乎省内排名,且地区配额几乎是不变的。(花大量时间专研的那些牛鬼蛇神的题型,一个假期基本忘光,对个人素质根本没什么影响。)
总结下,内卷指的是一个群体的总天花板已经无法通过个体努力去提升,个体想要提升只能靠群体内个体间的竞争,这种情况下的竞争一般只会愈演愈烈。
还有另外一类「新兴词汇」,其实是旧词新用,如赛道、打法/玩法、复盘等,我最早在 14 年就听到 TMT 投资行业在开始使用,现在也逐步变成了大众的常见用法。
其实把赛道全文替换为领域/行业,打法/玩法替换为策略,复盘替换为反思,几乎毫无问题,这些词语的替用并不是为了语言准确性,而是一种离经叛道的行为,是个性的张扬。
这种用法就和 Leet( https://en.wikipedia.org/wiki/Leet )很像,把 hackers 写成 h@ck0rz,computer 写成 CøM9µ†3r,没什么特别的目的,就是很酷。
作为一种个人语言风格,在一开始我觉得还挺有趣的,但是这种突出「个性化」的用语,却发展成了行业用语,甚至开始被主流媒体所使用,有点滑稽。
(一)
首先来讨论个问题:创作分不分高低?我的观点是,至少从过程来看,是可以分的。(这又是个容易产生冒犯的观点,请耐心读完)
任何著作的背后一定投入了巨大的工作量,很少听说哪个著作是其作者在短时间内轻松就完成的。高工作量是创造被评价为高的必要不充分条件,低工作量的创作很难会被给予高度评价。
抖音原名为抖音短视频,产品形态上已经表明这是一个低工作量创造的平台。从创作者的角度,我们鼓励每个人都进行创作,无论工作量大小无论有没有价值,是没错的。
但是从观看者的角度,同样是欣赏,那位什么不去欣赏一些投入了更大工作量的内容呢?包括且不限于电影、书籍、电视剧、动漫、3A游戏大作等。
当然了,现代人生活碎片时间多,随手刷一刷各种快消文化没什么问题,但是要是躺在那一刷就是几小时,可能该反思一下。
不过这终究是个人选择,这里只是把我的选择背后的原因分享给大家。
一个更为刺耳和有争议的观点:品味判断是关连到社会地位的。
好在这不是我说的,你觉得被冒犯或者值得批判,请直接和原作者去对线,参见布赫迪厄的著作《区隔:品味判断的社会批判》(La Distinction),被评定为20世纪最重要的十部社会学著作之一。
请抱有开放的心态去理解这个观点,并注意作者的逻辑,品味判断是社会地位产生分层背后的可能原因,不是说应该以此去进行社会地位分层。
复制 Wikipedia 上的一段摘要:
布赫迪厄以美学品味的议题为基础,发展出他的社会阶层化理论,详载于他在1984年的作品《区隔:品味判断的社会批判》(Distinction: A Social Critique of the Judgment of Taste,法文版书名为La Distinction)由哈佛大学出版社印行。布赫迪厄声称,一个人如何做出选择以便向世人呈现他个人的社会空间——换言之,一个人的审美意向——描绘了这个人的地位,并让他与更低层的群体产生距离。具体来说,布赫迪厄推测,这些意向是在个人童年时代所内化的,并引导年轻人朝向他们适当的社会地位,朝向适合于他们的行为,以及对其他行为的厌恶。
这个观点和目前的一些生物学探索性研究的初步结果吻合,我们的一些思维模式,可能在童年时代就已在大脑的生理层面产生了固化,不同的思维模式背后可能对应的是生理上的差异。假设这个研究能得到进一步证实,那与抱有不同思维模式的人对话,可能确实是对牛弹琴,谁都永远说服不了谁。
(二)
昨天在探讨了我为什么不喜欢抖音其背后可能的逻辑后,收到了些评论,也有朋友转发后给出了自己的观点,结合这些观点,我对这个问题又有了些进一步的想法。
一、关于娱乐性
部分朋友认为抖音内容普遍缺乏营养所以不想看,是有一定道理的。但是这个解释有些问题,娱乐也是人类的一项必需品,虽然一般对彻头彻尾的追求娱乐抱有否定态度,但是适当的娱乐是没有任何问题的。
而我即使是在追求娱乐目的时,也会去选择 B 站,若以娱乐和「营养」的区别作为原因,不致于产生不喜欢的念头。
另一个例子,按现代人对「营养」的定义,听交响乐这一行为,似乎也很难说是有「营养」的(至少对于非音乐专业从业者是这样)。但是这完全不会影响我们对交响乐的高度评价。
二、关于工作量
有朋友举例某些伟大作品是在很短的时间内完成的,虽然我不是很认同「短时间=低工作量」的说法,但是我之前观点中认为高评价作品一定需要高工作量的说法,确实有些过于绝对,应该是有例外的。
将观点降低确信度变为一种规律:优秀作品一般需要高工作量,低工作量的作品中很难产生优秀作品,应该更为合适。
三、关于挑剔
结合这个更准确的表述,让我对我不喜欢抖音的根本原因又有了进一步认识。
相比统计学下缺少高质量作品的可能,更让我感到不适的是看到一些低劣内容时的反感。
这可能是因为我确实是一个挑剔的人,我会因为一些 App 上像素级的问题,而转去用其他替代品。
不过正是这个挑剔的精神,才让我在创作时有更大的内源性驱动力去追求一丝不苟。
对于这种精神,在我的人生中到底是在哪个阶段产生的,我还需要去进一步思索。另外,应该放任这种精神自由发展还是刻意对抗,也需要思考,我目前的做法是,尽量以理智去限制这个挑剔的潜在冲动仅在一些必要的场合去追求。
四、关于选择
当看到不喜欢的内容时所产生了不适,一方面是自己比较挑剔所以容易产生不喜欢的感觉,另外一方面是,这个内容不是我选择的,而是塞给我的。即传统的关注订阅的内容获取模式和推荐的模式的冲突。
主动获取信息的行为中,我是主动点开了某个让我不喜欢的内容,那我知道这是我「自找的」,我可以立刻改进我以后选择内容的标准。
而被动推荐的内容,我只能内心暗骂什么傻逼算法,缺乏一个让我去改进和表述不喜欢的直接途径。这种掌控感的缺失加剧了不适。
(这可能是类似 Twitter 等平台现在都有推荐流反馈的选项的一个原因,选了有没有用有多大用再说,起码用户有了可以表达的途径。)
注意:本文是想尝试以形式逻辑去评论一句话的对错,这是个很有趣的事情,不是抓住一个问题不放。
前文已经充分的探讨了关于程序员一词的讨论所引发的各种值得深思的问题,有些读者还在纠结关于我的「员」后缀的观点是否正确。其实这个正不正确不是很重要,其中包含了很大成分的主观因素,背后所映射的问题才更值得讨论。
但是非要去深究这个观点正不正确,也是个有趣的事情,判断一个观点是否正确,归根到底是说这个观点有没有逻辑。对于语言的讨论本身更适合采用非形式逻辑,但是这种论证很困难,不存在绝对的标准,既然非要分别对与错,我们不妨以形式逻辑这一非常明确的标准来判断。
我的原文是「员所代表的职业多为偏重重复、轻创造性」。第一步先将这句话尽可能的明确为形式逻辑命题。
「多为」一词没有明确的数学定义,宽泛的来说 >50% 总样本数量即可说「多为」,但站在严格的角度,我们把这个值提高到 >75%,避免因「多为」一词的使用差异造成逻辑上的瑕疵。如果认为 >75% 的标准依然不可代表「多」,也过于苛刻了吧。
再来理解「创造性」这个词汇,一个标准释义是「一般认为创造性是指个体产生新奇独特的、有社会价值的产品的能力或特性,故也称为创造力。新奇独特意味着能别出心裁地做出前人未曾做过的事,有社会价值意味着创造的结果或产品具有实用价值或学术价值、道德价值、审美价值等。」
注意创造性一定代表产生的成果是先前不存在的,同样内容的不断生产不是创造性。而对于重复性,广义上的范围太大,作家每天写作是一种重复、软件开发者每天写代码也是一种重复,几乎一切人类活动广义上都可以归结为重复。而我语境下的重复性其实是相对创造性而言的,其实是和创造性表示的是同一个含义。
可得出,原文的更形式化的表述为:
定义员后缀职业为集合 A
轻创造性为属性 B
命题可写为:对于集合 A,其中 >75% 的个体,具备属性 B。
根据形式逻辑,要想对该命题进行证伪,应证明其逆否命题成立:
逆否命题为:对于集合 A,其中 ≥25% 的个体,不具备属性 B。
我们来看一下评论中的一些反驳观点:
第一类:「“员”是指工作或学习的人;而“师”是指1.称某些传授知识技术的人,员与师的区别在于是否强调“技艺”」,「员一字是人员的缩写并无特殊含义」、「員字源於二形,一是上口下貝,一是上口下鼎。其本意是指「物的數量」,這個物是什麼呢,是貝,貝是錢。而後引申為人數,比如關羽乃一員猛將,再引申指人,便有了官員、吏員。」
这一类为对「员」字本意的观点,我们定义的集合 A 为员后缀职业,不能抛弃职业特性来谈这个问题。即该反驳观点说叙述内容不符合集合 A 定义。
事实上这些观点就是和原观点可以并存且不冲突的,不是互斥关系。
第二类:「运动员、研究员、演员、公务员同样需要创造性」
至于哪些员是有创造性的,要去讨论也是个很繁杂的问题,从严格的要求上,我们就暂且将这些个例和有争议的词语全部认为是有创造性的。
这类反驳可归结为命题:对于集合 A,存在个例不具备属性 B。
这个命题并没有去考察总量和个例的比例关系,依然也是无效的反驳。
所以这两类反驳虽然本身是一句正确的话,但是在逻辑上并无法对原命题证伪。
那我们就更直接一点,把现在主流语言中除程序员外的「员」后缀均拿出来看一下,我能找到的有:
店员,文员,演员,船员,官员,公务员,出纳员,制图员,售货员,宇航员,审计员,快递员,打字员,接待员,推销员,播音员,收银员,救生员,服务员,消防员,清洁员,研究员,管理员,统计员,行李员,运动员,邮递员,采购员,飞行员,驾驶员,技术人员,邮政人员,(图书、仓库等等)管理员。
(司令员、党员等并非现代职业描述)
共计 33 个,创造性的定义很难明确,那么我们取最宽泛的标准,其中涉及或者可能涉及创造性的有:
演员、研究员、运动员、公务员、宇航员、推销员、飞行员,共 7 个。
说实在的,说运动员、公务员、宇航员、飞行员有创造性已经有点强词夺理了,不应该钻牛角尖去看这些职业到底有没有创造性的可能,而应该看社会主流印象中,创造性和这些职业是否有关联,你随便找一个人,问他一个运动员有怎样的特性,我觉得实在不太可能有人回答创造性。
但即使把这些统统归入反例,7/33 ≈ 21%,达不到逆否命题成立的要求,而且这其中已对各种模糊的细节全部取了最利于反对意见的标准。
证毕。
事情的起因是我在几天前发表了一段推文,原文如下:
这段话一时引起了波澜,有人表示赞同,有人觉得我在贬低其他职业,有人觉得这是对「员」字的偏见,有人觉得是文字的隐含义造成了冒犯,有人觉得程序员并不比其他职业更需要创造性,有人觉得这是矫情没必要扣字眼。一时间夹着各种观点的评论风起云涌。
说实话,这句话更多只是一个「吐槽」,所得到的结论也只是「我不喜欢」,并非严肃讨论,我在发推时也没有特别的去斟酌每句话的词语和表达方式,完全没想到会引发这么多的争议。但是既然已经打开了这个社会话题,那就不妨就把这个问题说个清楚讲个明白。
我会给出不喜欢「程序员」这个说法的观点,源自于我对被称为「程序员」时内心所产生的不适感。(这个不适感并不是我一个人的独家偏见,有不少的人表示了赞同)所以我会想要去纠结,这个不适感从何而生。
一种解释是说程序员和收营员、驾驶员等社会地位不高的「员」职业混在了一起。所以产生了一定的贬低义,引起了不适感。
但是这个解释是有明显的问题的,运动员、演员、公务员、飞行员,存在着大量社会地位不低的「员」后缀职业。我没有理由会因为社会地位高低问题而产生不适感。
(注:上述职业的社会地位高低问题是客观存在的事实,不是我的观点。)
所以经过思索,我给出了一种可能的解释,「员」所代表的职业多为偏重重复、轻创造性。而如果评价一个软件开发人员是在进行重复、非创造性的工作,可能会构成一种误解甚至冒犯,导致了不适。(关于软件开发和创造性的关系在后文中讨论)
一个类比,如果你把一个作家说成是打字员或写字员,当然是一种冒犯。如果你说一个设计师是美工也是一个冒犯。这个冒犯的本质是因为这个词语未能准确的描述我们所从事的工作,忽略了其核心:创造性。
因为我们对作家的工作足够了解,使得我们明白什么时候该称呼作家,什么该称呼为写字员。但是对于软件开发人员这一职业,社会上统称为了程序员,这是不合适的。就和把作家称为写字员是不合适一个道理。
这个解释建立在对「员」后缀职业偏重重复、轻创造性这一特征的归纳上,并不与「员」字本身所表述的本意以及其他含义冲突。有一种意见是「员」是「人员」的缩写只是表一群人的概念,还有一种意见是「员」的字本意是通过工作换取钱财,这些说法本身无疑是正确的,但是我们讨论的范围是职业称呼中的「员」后缀问题,如果按照上述意见,那无疑所有职业都可以用「员」去作为后缀,然而职业称呼里还存在「师」、「家」、「匠」、「工」、「人」等等后缀,我们所探讨的是职业称呼里这些后缀的区别。
具体来说,常见的一些「员」职业有:服务员、收银员、驾驶员、飞行员、图书管理员、快递员、运动员、演员、公务员、打字员、制图员、文员、清洁员、研究员。
创造性可构成关键因素的职业有:设计师、建筑师、摄影师、作家、设计师、插画师、漫设计师、工程师、发型师、科学家。
虽然如研究员、演员等个别「员」职业,同样很需要创造性,但是整体上来看,「员」后缀确实较少包含「创造性」因素。而「家」、「师」等后缀则大量包含了「创造性」。(至于什么才是创造性,在后文中讨论)
关于这个问题的纠结也不是一个新鲜事,比如我们会将一些杰出的歌员或演员尊称为歌唱家、表演家、艺术家,那么这个从「员」到「家」的背后表明了什么?具体怎样的标准才能称为「家」?这个答案可能会很主观且复杂,我认为和创造性密不可分,且不论这个判断是否正确,但至少表明,后缀的不同真的有不一样的表意。
历史上看,程序员最早的工作,是辅助数学家进行运算,只是把别人的逻辑转写为机器代码,对于这个工作内容,程序员一词是非常合适的,这也是程序员一词的由来。但是现在软件开发人员的工作内容早已超越于此,这也是为什么我们要重新审视程序员一词的原因。
首先应准确的去理解创造性这个词汇,一个标准释义是「一般认为创造性是指个体产生新奇独特的、有社会价值的产品的能力或特性,故也称为创造力。新奇独特意味着能别出心裁地做出前人未曾做过的事,有社会价值意味着创造的结果或产品具有实用价值或学术价值、道德价值、审美价值等。」
所以创造性和重复性这两者其实说的是一件事,如果是在不断重复某个行为,那自然不会有创造性。不同的职业对创造性的需求是截然不同的,举例说明:
那么软件开发与创造性的关系是什么?这点上我之前的一些观点确实有些片面,对于目前「程序员」这一词语所描述的职业,创造性可能确实并非必要。只靠照搬现成逻辑和代码,也能应对很多工作。
但是就如打字员与作家、美工与设计师的区别,创造性的融入使得职业的本质发生了区别,在最近几十年中,软件开发者们靠着这种创造力给整个世界带来了翻天覆地的变化,软件世界能够发展至今,和软件开发者们自身的创造力是密切相关的,而并不是像房屋建设那样,由建筑师先进行设计,再由建设工人去施工,软件开发者自己完成了从思考到编码的整个创造过程。
一个伟大的创造能改变世界。如大家熟知 zip 压缩算法,其算法实现存在于所有主流操作系统中,这个创造最终流入到现代几乎每个人的指尖上。而这些伟大的创造,最初也只是软件开发人员为了解决自己所遇到的一个问题所创造的。现代人生活赖以为生的复杂软件系统,建立在这些无数的「小」创造之上。
为此,我们应当将具有创造性和不具有创造性的编程职业区分开来,给具有创造性的编程人员一个独立的职业称谓。有两个替代称谓可能合适,一个是「软件工程师」,另一个是「软件开发者」,简称「开发者」,由于工程师的后缀多与职业认证相关,且一般是进行某些庞大的工作,甚至在某些国家,没有 license 的情况下自称为 engineer 是违法的,我认为「开发者」是一个最合适的词语。
这里我们纠结的是语言准确性问题,至于为什么要纠结这个称谓的准确性,将在最后一段中进行叙述。
当明确了词意后,我们再来看,相对于开发者,程序员所表述的工作是否为低标准的。同样拿出已经反复使用过的例子,美工的工作技能就是平面设计师的基本功,程序员的工作技能也是开发者的基本功,我们不用去考究两者是否是严格的包含关系、一个设计师是否一定能做好一个美工的工作,至少以美工的标准去考量一个设计师,以程序员的标准去考量一个开发者,这就是低标准的。
这里引用这一段评论:
「原文 Tweet 建立了一個矛盾衝突,將程序員與收銀員、駕駛員等對立起來,而這個矛盾衝突是比較激烈的,如果沒有「這個標準對 coding 來說太低、太無趣了」一句,則衝突會低很多。分析此句,「這個標準」即是指「收銀員、駕駛員等」的標準,不異於指桑罵槐:你們收銀員、駕駛員等的工作標準太低、太無趣了。」
这段评论是从文学的角度在分析我文字所表现出的衍生意,说的是正确的,我确实隐约表达了收银员和驾驶员这两个职业要求低且无趣这个观点。但是指桑骂槐的「骂」却是不妥的。
收银员和驾驶员的工作要求就是很低。收银员和驾驶员的工作就是很无趣。
如果要在这两个事实上来和我争论,我会觉得你极度缺乏常识。
那么,如果我所表述的内容,是一个公认的事实,是否能构成「骂」呢?骂的词典义是:用粗野或带恶意的话侮辱人,侮辱的词典义是:使对方人格或名誉受到损害。对事实的叙述无法符合这个定义。
当然这有些在对「骂」咬文嚼字,更应该讨论的问题是:对事实的叙述可否构成冒犯?我觉得是可以的,即使一个人公认长得很丑,但是如果说出「你真丑」这样的言论依然是一种冒犯,类似于揭开伤疤的行为。从这个角度说,我原文确实无意间产生了冒犯,在此表示歉意并反思。
贬低一定是一种冒犯,但是冒犯却不能直接构成贬低,贬低一定是一种基于价值观的判断。在另一篇文章中我已经对为什么原文会让人觉得是贬低进行了详细的剖析与批判。可总结为:
只有当批评者持有「脑力劳动者优越于体力劳动者」这样的价值观,才能从原文归纳出我有贬低其他职业结论,而这种价值观绝非我的表述,是读者自己价值观的反射。
具体详见:https://link.medium.com/nVhkAMH8Ybb
我们必须先在客观上承认,职业间是有无聊和有趣的差距的,是有创意性和非创意性的区别的,是有门槛高低之分的。
在承认这些差异的基础上,我们才能去谈职业平等的问题,拒不承认职业间的差距,是站着说话不腰疼,得了便宜还卖乖,这才是对其他职业的不尊重。
在社会主义价值观中,要求我们对各职业应该不分高低贵贱,是因为每个职业对于这个社会的运转都是必须的,是社会分工的不同。有些职业就是无趣、苦闷、低报酬的,从公平的角度,社会应该以某种形式去更多的补偿和关怀这些职业。
而在另一种价值观中,因为创造是人类进步的源动力,往往给予和创造性相关的职业更高的社会评价。得到更高评价的职业令人向往,以此促进更多人往这种职业去发展。
更高的社会评价值对应的是赞许等具体行为,对于社会评价没那么高的职业,也不应该去贬低和歧视,应对所有正当职业的从业者抱有尊重。
1949 年后的中国人自小接受的是社会主义价值观教育,但事实上人人都明白,现在社会中科学家、公务员比保安、收银员享有更高的社会评价和地位。这种价值观上的割裂是我们不愿意去正视的问题,所以当原推文可能触及到这个问题的时候,部分读者会变得格外敏感。这里不去评价各种价值观的对错与高低,我自己也没能清晰的想清楚这件事,但至少我们应该要求一个理性的成年人抱有统一的价值观,而不是根据自己的感情需要在各种价值观里跳来跳去。
一个方面关于语言,我们对语言的反思和修正,本身就是语言的发展过程,我们应当尽量去纠正语言中可能包含的错误观念,使之与事实更为符合。这是对语言准确性的追求,关于语言准确性的重要有很多大家都进行过论述,我就不再去重复了。
但是这种对语言「咬文嚼字」的行为,应该严以律己,宽以待人,大众并不是很了解软件开发人员的工作到底是怎样的,所以一概以「程序员」描述,这个行为没有什么不对,我也不会为此而感到生气,只有靠开发者们自己去进行解释,才能让一般人了解到创造性所带来的区别,从而可能产生主流语言的变化。
本文就是一个开发者在尝试对开发者工作内容进行澄清,不去进行澄清,那么这个误解——开发者的工作只是机器语言翻译员,就很难被消除。
英语中也有 coder、programmer、developer、software engineer 等对软件开发这一职业的不同称谓,就简单以这几个词去搜索,就能找到大量分析和比对这些词语差异的严肃讨论。而我在中文互联网上去搜索,鲜有对程序员、软件工程师、开发者等词语的区别的讨论,能找到的少量结果中,基本都是在讨论工程师和程序员在工程性这一问题上的区别。
而另一个方面,则是通过这种咬文嚼字,对我们自己的职业进行反思,我们需要意识到创造性对这份职业有多重要,重要到可以因为有无创造性而直接划分为两个不同职业。
现在有些程序员,不主动去思考与创造,只负责把产品经理的命令翻译为机器语言,甘当「代码猴子」。虽然这样可能也能完成程序员这个职位的工作要求,但请问一下你们是否心甘情愿。
有些职业上的跨越,在客观上会有很多障碍,比如一个司机要想成为一个赛车手,客观上经济条件的限制就使得这个转变极为困难。而创造性不存在客观上的门槛,当有了编程的基本技能,即可以通过创造性去解决问题,经常能看到很多初学者活跃在开源项目中,有很多初高中生编写的开源项目被广为使用,所以是否要从程序员「晋升」为开发者,完全是一个主观上的事情,主要看你越不愿意。
所以如果通过这一咬文嚼字的讨论,能使一些「程序员」开始有意识的往「开发者」发展,那我相信这一咬文嚼字的讨论就有其意义了。
一个题外话,我在写这篇长文前,有和一些朋友进行讨论,这个问题的严肃讨论是否有必要,他们大都抱以悲观的态度,认为是在对支持这一观点的人重复解释,对于持反对意见的人鸡同鸭讲。这里我想进行一个匿名小调查,算是一个社会实验,只有一个问题,请参与支持一下。
不同的职业有不同的特征,有些职业极其依赖人脉,比如 sales、PR/GR、投资人、猎头等,人脉的积累不可能一蹴而就,一定需要长时间的经营。有些职业极其依赖经验,如律师、医生、管理职位等等,有很多经验必须通过实践积累,只依靠系统教育是完全不够的。对于这些需要人脉和经验的职业,越老越吃香,相对的,这个行业年轻人会很苦很累,赚的也不多。
我们再来看一下软件工程师这个职业,我觉得核心竞争力在于:思维能力、经验,以及精力。(基础知识储备是必备要求,不能算竞争力)
医生经验不够会把人治死,律师没有经验会让客户入狱。工程师呢?一个经验丰富的资深工程师可能做完一件事只需要一小时,新手要三小时。那年轻工程师加班搞就好了,没什么大不了的。年轻人的精力可比中老年人多太多了。
这是由现在的市场需求所决定的,大部分软件工程师的岗位的需求是能「出活」,只有极少数岗位的要求是「出好活」,由于现在软件分发的成本太低,经验差写出 bug 不是一个很严重的问题,补测试人员和勤发更新就能弥补。
由于要求只是「出活」,是可以靠堆人解决的,而且一个高级工程师的工资可能可以抵 2–10 个初级工程师,即使假设精力相同,你也需要保证你的经验带来的效率提升能和你的工资成比例。而对于医生、律师等职业,你拿 100 个初级医生来也取代不了 1 个资深专家。
所以,软件工程师这个职位的发展曲线对年长者不友好,是一个由市场决定的客观事实,你不能指望因为公司的仁慈去解决。而且相对的,所以这个行业的年轻人才能明显比其他行业赚的多。
那怎么样去改善这个事情?个人上:
外部条件看:
一个衍生问题是为什么近年来几乎所有的软件质量都在下滑?
先前简单介绍了下目前美股券商的优劣,不少朋友跃跃欲试,让我再分享些股票经验。
我犹豫了很久要不要写,一方面因为二级市场投资我并是不专业人士,写出来在一些从业者面前未免有点班门弄斧,另一方面有很多经验想法也不能肯定就是正确的,投资策略这事千人千语。不过线下和一些朋友分享后他们觉得很有收获,建议我还是写出来。
以下想法为是我自己对刚入门或者想入门的、非投资专业人士的一些个人美股投资经验,仅供参考,最终投资策略还是要自己靠思考去决定。
另外这些经验和建议是以获取稳健收益为导向的,如果你的目标不在于此,想要获得超额收益,同时能承担更大风险,那么本文的部分建议可能不适合你。
我喜欢以这样的方式去思考股市投资,投资的收益是三个函数结果的叠加:基本面、技术面、损耗。给对这几个词不太了解的朋友先简单描述下:
基本面:即整个经济趋势和股票的公司经营业绩所带来的收益,可能是公司的利润,可能是财政的放水等等。
技术面:即当股价偏离其应有价格时,通过高抛低吸等手段赚的差价,通常各种乱七八糟的炒股技巧,均属于技术面的事,
损耗:包括交易手续费、杠杆借贷利率、做空借股利率、爆仓损失等等。
我对选择股票的理解,即为以你的经验对社会发展做出判断,正确的话可获得经济奖励,错误即亏损,以此构成了一个巨大的决策系统去调配社会资源和生产资料。
而基本面的收益,一方面就是人类社会发展所带来的经济福利,另一方面则就是对你决策的奖励。
技术面则是零和游戏,你在技术面上赚的钱一定是另一个人亏的。作为非专业投资者需要有自知之明,自己凭什么可能战胜以此为生的职业操盘手和投资机构?一般散户的专业知识、时间投入、信息渠道等因素均大幅落后于专业选手,这样的零和赌博游戏不要去参与。
所以,我的核心投资经验是,作为散户投资者,只该思考怎样从基本面获取利润,尽量将自己从技术面中剥离,同时避免损耗。
具体操作上:
应该尽量减少操作,不要去干高抛低吸的事情,投资和其他工作不一样,不是说付出了更多的时间和精力盯盘就一定能有更多收获。从概率上讲,你需要将资金竟可能长的放在市场中,才能赚到更多的来自基本面的收益,如果频繁操作,不仅是在进行技术面上很可能输的零和游戏,还会错过基本面的收益。
可以考虑用逐步建仓或定投的方式去购买股票,以获得一个较为平均的买入价格,减少技术面波动影响。
长期持有股票,从历史经验来看,美股是世界上回报率最优秀的投资市场,以纳斯达克指数为例,即使你在 2008 年初股灾前最高点买入,在 2010 年末就能解套,然后在 2017 年将获得本金一倍的利润,到现在 2020 年 10 月将获得 3.28 倍利润。
避免损耗,不要使用杠杆和各种衍生品,那是为专业投资者进行对冲用的,非专业投资者使用就是在赌博。认真了解不同交易所的佣金差异,购买基金时需要注意手续费和管理费。
购买多个股票或者基金,不要把鸡蛋放在一个篮子里,这个是常识了。
稳定自己的心态,尽量别一直关注走势,除非自己有用钱的打算,否则不要轻易卖出。
上面提到,选股其实是靠个人经验去参与社会共同体的决策,很多时间其实并不困难,考验的就只是常识。
本文读者可能大都为互联网相关人士,我举个互联网的例子,请把你的思绪回归到 2015 年,仔细回想下五年前你对下列公司有什么感受:
建议找个记事本写下结果,不用太仔细,分好、中、差就行,记得是回忆 5 年前的想法,不是去以现在的视角去回顾,然后找个行情 App 或者网站看一下最近五年他们的走势。
如果结果和你预估的基本一致,那么恭喜你,你具备互联网从业者的常识,你可以凭借自己的认知去选择互联网股票。
如果偏差严重,说明你对商业信息可能不是很敏感,没关系,你可以直接购买指数基金,这是一个更加省心的选择。
虽然以上经验在过去的百年中都基本适用,但是 2020 年我们似乎站在了一个历史的十字路口,过去的经验是否还能适用,这个问题可能确实难以琢磨。
最后附上百年来的道琼斯指数走势

最近有好多朋友找我咨询该买什么路由,每次都需要花很长的时间去解释原理和了解需求,于是便写了这篇文章。本文将从基本原理层面带你去理解,该怎样去选购和部署家用网络设备。
首先我们需要了解,在 2020 年,搭起一个可以上网的家庭无线网络最少需要哪些「元器件」。
以上就是所需要的最少的 6 个基础元件,然而事实上,每个元件不一定都是一个独立的硬件。通常大众所说的「无线路由」,是包含了上述 2-6 五个组件的结合体,而现在运营商配置的光猫,为了简化用户配置,则是包含了全部六个组件的巨无霸。(后文中所提到的路由均指一般大众所说的无线路由,非真正意义上的路由)
注:路由通常提供四个 LAN 口,其实就是一个集成的五口交换机,其中一口直连了内部芯片。
对于企业级设备,一方面是为了稳定性,另一方面为了灵活扩展和配置,当然也可能是为了坑更多钱,这些元件大都是由不同硬件分开承载的。以 Ubiquiti 家的 UniFi 产品线为例:
另外对于企业级设备,设备通常不提供家用设备上常见的网页管理界面,需要用单独的控制器进行配置。对于 UniFi,可以购买 UniFi Cloud Key 硬件作为独立的控制器,也可以使用一般电脑运行 UniFi Controller 软件作为控制器。
最后还需要知道的一个基础点是,网络性能由木桶原理决定,整个网络中的短板决定了最终的网络性能。
了解了这些基本概念,我们可以来看看有哪些组网方式。
运营商所提供的光猫,其性能应该能够满足你的最大带宽,如果确认不能满足,可以联系运营商上门测试并更换光猫。
通常我们对光猫不满意的点有两个:无线信号太差、可调整的设置太少。这时一般人的解决方法是:重金购买一个「好的」无线路由插上去。
我认识的绝大多数非专业朋友都采用了这种方式组网,但这种模式非常的不科学。光猫已经作为路由建立了一个子网,而插上的无线路由又再次建立了一个新的子网,至少会导致以下问题:
性能损耗,白白多进行了一次 NAT 地址转换,但是由于这部分性能损耗不是叠加的,所以一般实际使用中倒也无感知。
两个子网间的设备广播包无法互通,导致 AirPlay 等功能无法使用。
二层子网下的设备无法使用 UPnP 或其他类似机制在公网 IP 上暴露端口,会影响 BT 下载和游戏设备联机。
部分无线路由提供 AP 模式选项,AP 模式其实就是关闭元器件 2、3、4 的功能,只提供 5 和 6 的功能,同时将 WAN 口和 LAN 口在软件层面进行桥接。
对于没有 AP 模式的无线路由,在管理页面中关闭 DHCP 服务,然后只使用 LAN 口,效果等同于 AP 模式。
这种组网方式下,由于没有产生新的子网,不存在上面提到的问题。但是这种使用方法浪费了重金购买的路由器的大部分功能,有点浪费。
正统的组网方式,只有这样才能发挥重金购买的路由的全部功能。问题在于,修改光猫的工作模式并非一件简单的事情。你可以:
企业级组网方式,核心在于将原无线路由所承载的多项功能,拆解为不同硬件去实现,以提高稳定性和可扩展性,主要适用于单个 AP 无法完全覆盖的场景。不过对于最求极致稳定的单 AP 用户也适用。
其实企业级组网也可以配置成方式 2 的双网关,但这种做法也太业余了,就不单独列为一种方式了。
现在流行的 Mesh 无线路由,本质上是一个传统无线路由加上多个 AP,且路由和 AP 间靠特殊频道的无线连接。组网方式和上述的方式 2/3/4 本质上是一样的。
说完了一些客观上的基本知识,以下是我个人对家庭网络设备选购的一些观点:
我对于网络设备的核心诉求是:稳定且性能足够。我非常不喜欢那种塞入了无数功能的家庭路由产品,一方面来说,功能的繁多必定导致稳定性的下降,其系统架构根本无法承载这么多复杂的功能,任何一个功能出现问题都有可能把整个系统拖死。
另一方面,也没必要在这么一个单一硬件上去折腾这么多功能性应用,几乎所有附加功能都可以放在一个树莓派上单独实现,树莓派不仅便宜而且具备完整的 Linux 环境,折腾起来既方便又稳定,缺点是没有集成化的管理界面。
预算更充足的话可选择群辉或者其他 NAS,提供更完备的功能和管理界面。特别想折腾的用户可直接买家庭服务器做虚拟化。(多说一句,家庭服务器的选购核心考察点应为:静音,现在合适的选项大概只有 HPE ProLiant MicroServer Gen10 Plus)
尽量选择拥有企业级产品线的专业厂商,企业级用户对问题更敏感,一旦发现问题会很快和厂商反馈并得到改进,同时厂商对于稳定性问题也会更加谨慎,即使你不打算购买企业级设备,这些经验也会被厂商用在家庭设备线的研发中。
先了解自己的需求和整个系统中的短板后再做选择,比如如果你是百兆宽带,那么整个网络的短板几乎只可能是无线信号覆盖问题。如果日常需求只是看看在线视频,那么随便任何一种组网方式都可以满足。
一般家庭网络会遇到三种问题:
千兆网已经普及了近一二十年,其他计算设备瓶颈都在大幅改善,存储设备速度都翻了快 30 倍(HDD 普遍连续读取速度为 160MB/s,现在最快 SSD 可到 5000MB/s),也是时候在网络设备上动手了。
当然现在万兆网依然是少数人吃螃蟹的状态,设备昂贵且坑多,仅推荐有钱有闲人士折腾…
要想把家庭网络从千兆提到万兆,首先要确认网络传输速度是短板,否则没有意义。千兆网的最高速率一般为 120MB/s,所以其他瓶颈可能会在:
确认瓶颈是千兆网后,开始折腾。
首先需要了解 SFP 模块:
百兆和千兆网时代,几乎使用的都是双绞线作为物理传输介质,但是万兆网时代后,由于使用双绞线有一些缺陷,所以通行设计是将网络设备的物理传输层隔绝出来,允许插入一个 SFP 模块,由它进行信号调制,以此自由的支持各种传输介质。SFP+ 标准对应着 10Gbps。
常见的 SFP+ 模块有四种:
坊间会把 SFP 模块插口叫做光口,这个光口和电口的对应不太有逻辑。
对比:
以上最低价格都是按淘宝的小厂价格给的,建议还是选择大厂的产品,模块一般也贵不到哪去。
距离:DAC<AOC≈RJ45<光纤
DAC 最高不会超过 10M,RJ45 根据模块和线缆不同,最远可达 30M-100M(参见模块说明),AOC 也一般不超过 100M,光纤根据适配器和光缆不同,上限极高,但超出家庭需求。
发热:DAC≈光纤≈AOC<RJ45
前三者我没有具体比较,但是都属于发热可以接受的范围,RJ45 的模块发热十分恐怖,烫手级,很多内置 RJ45 10GbE 的设备会带主动散热。
延迟:DAC≈AOC≈光纤<RJ45
双绞线的信号编码带来了相对较高的延迟,但是是 usec 级的差距,家庭使用完全无感知。
抗干扰:DAC≈RJ45<AOC≈光纤
电信号容易受干扰,比如我开启碎纸机时就有概率导致网络闪断。
电气安全:DAC≈RJ45<AOC≈光纤
电缆有可能把对端设备的电涌传导至另一设备,导致设备损坏,光纤不存在这个可能,但是一般家庭中估计很难会遇到这种情况。
部署灵活度:DAC≈AOC<光纤<RJ45
DAC 和 AOC 都只适合两个设备放在一起时使用,目前装修墙里预留光纤也很少见,但是基本都预埋了 RJ45 线缆,接插也最方便。另外网线可以自己做,可根据需求灵活调整长度,光纤要想自己做需要熔接门槛高。
对于家庭使用,如果设备在一个房间首推 DAC,不在一个房间需要根据预埋线缆来选择。
电口可以说毫无优势,但是如果是 Apple 设备的 受害者 ,设备上是 10GbE 电口,所以对端只能选择电口,否则要再去买个 SFP+ 的雷电 3 外置网卡。
一般只用考虑交换机和网卡即可,目前家庭宽带最高也就是 1000Mbps,完全没有必要将路由器也升级到万兆。
选购时需要注意,SFP 模块和设备不一定兼容,需要先确认兼容性后再购买。
交换机通常提供两种万兆方案:SFP+ 接口和 RJ45 接口,直接提供 RJ45 口相当于是内置了 RJ45 的信号调制模块,通常价格更高,发热更大。
根据所选择的传输介质和所需端口数选购即可。注意:
我的选择是:https://www.ui.com/unifi-switching/unifi-switch-xg-6poe/ ,供参考。
如果电脑没有自带 10GbE 接口,那么需要单独购置网卡,对于有 PCIe 插槽的设备,选择范围很广泛,一般选择 Intel 芯片的网卡。对于 Apple 系没有 PCIe 插槽的设备,可以考虑雷电 3 外置网卡。
网卡也和交换机一样,通常提供 SFP+ 接口和 RJ45 接口两种方案。根据需要选择。雷电 3 外置网卡常见选择是 QNAP 的 QNA-T310G1S 和 T310G1T。
需要注意 T310G1T 电口版本自带主动散热风扇,噪音很大,而且由于风扇小和风路设计问题,噪音的音调很高,我个人完全无法接受,最后把风扇强拆了然后放了个巨大的被动散热器,选购时请注意。
当全部硬件升级和连接完毕后,先确认已协商到 10Gbps 的速度。然后开始进行测试。
首先应进行纯粹的网络测试,很多文章直接就拿文件复制开始测,实际上文件复制速度会受到非常多的因素影响,测试结果有问题也说明不了什么。
推荐测试软件为 iperf3,与 Wi-Fi 不同,有线网的实际速率和标称速率差距很小,千兆网测试结果应该在 900Mbps 以上,万兆网应在 9Gbps 以上。
确认网络速度没问题后,可以再进行文件复制测试,如果速度不理想可以从以下几个方面着手进行软件调优。
默认情况下以太网设备的 MTU 为 1500,即每个数据帧的大小不超过 1500B,这是一个非常早期的经验值,并不适合现代计算机网络。过小的 MTU 可能造成大量的额外数据包头和包处理的 CPU 消耗。
Jumbo Frame 即为将 MTU 改为 9000,以减少开销,网卡和交换机都需要进行修改(非网管交换机似乎不用)。但需要注意,Jumbo Frame 由于没有 IEEE 标准,所以很容易出现兼容性问题,建议调整 MTU 后重新进行测试,如果提升不大则没有必要修改,否则之后很容易不小心掉坑。
(比如我 Dell 服务器的 iDRAC 就无法处理大于 2000B 的帧,直接导致死机重启)
相比 Jumbo Frame,对文件传输协议的优化提升效果有时会相当明显,目前通行的传输协议是 Samba(SMB), 几乎全平台通用,Apple 自己的 AFP 已经废弃,不要使用。
Samba 可调优的参数非常多,可以自行搜索相关文章,我的经验表明最重要的是版本号,如果使用的是 SMB3 协议速度就不会出大问题。
确认复制的原始存储和目标存储都满足速度需求。
进行传输测试时务必选取单个大文件,复制含有大量文件的目录会极大的拖慢速度,有的时候把大量文件打包再发送然后解包,比直接复制的速度还快几倍。
如果速度还是异常,除了用 iperf3 还可以尝试用 rsync 测试去确定原因。