FrankHB 最近的时间轴更新
↓挽……
43 天前
FrankHB

FrankHB

V2EX 第 34994 号会员,加入于 2013-02-28 10:06:28 +08:00
FrankHB 最近回复了
我说的是,这种表面的技术问题,根源是人。

一次性学很多语言是极端情况。
但大部分人长期没选型决策权,没余裕在项目需求上推三阻四拒绝学习新技术(语言是其显著代表),不管技术上是不是合理的(不用就得润),结果就习惯要么固守个别领域,要么就被随意差遣,更加对这方面事务没话语权。结果莫名其妙拱手放弃了支配自身技术发展路线的权力。
即便一次就学一个新的,时间长了项目多了迟早等效:学习开销不随工程经验丰富而下降,收益却因为越来越有能力发现“新”语言的弱点而下降。越来越难发现好到值得投入学的语言,认真了反而像是给人免费当苦力推广;即便是发现坑为项目避雷,对个人生涯来讲也是净亏。

破解无谓超额成本做法有两个:一是愿意同流合污,打不过就加入,有饭一起恰;二是自己开宗立派,取而代之。
我这么点明了,自然一般人都想做后者。但这比把持选型决策权还难;而且被技术视野不够高的决策者支使惯了,需要独立思考的时候就躺了;所以现实大多会怂。
更何况现实很少有人自己独立发现这层利害关系,就算想到了更加寄了。
OP 和一些回复背后隐含类似的焦虑算是比彻底躺了的孺子可教,但脱离具体场景泛泛而谈个别缺点格局仍比较水,这是我说比较无聊的一个原因。

只有对选择第二条路的人,考虑具体技术问题才有实用意义。
不过说实话,我就感到这几十年还真是阿猫阿狗也敢整活了。
有的大约就是单纯用的不被大众所知,但我还是嫌多了碍眼。比如 Squirrel 的实现连 REPL 的 EOF 都处理不对,这样的素质也敢有厂商搞当工业语言用。当然,小圈子语言嘛,跳出坑就行,比较容易逃避。
有的是盲目从众。这时候上梁不正的后果就是灾难行的,比如 TC39 和 Guido van Rossum 连 proper tail call 都欠教育的水平。这是大部分人逃不过的部分,因为想要逃离毒害差不多是转行。

至于 Go 是什么档次呢?
设计 OS 水平先不论(虽然也存疑),Ken Thompson 在搞语言这块嘛,是个连什么叫 nominal typing 都没概念的( lambda-the-ultimate.org/node/4554#comment-71474 ),这样的水平能指望啥呢?
另一方面,golang 的 spec 里把原来 C 叫 object 的东西硬是叫 variable 这样的原则上技术氵 13 问题到处都是,就更不说整个核心“社区”的质量了。
写起来恶不恶心反倒是次要的,足够圣母觉得有救的用户,可以自己加个 pp phase 之类,多造半个语言改正缺陷或者适应需求变化(如 C→C++→C++/CLI )。而要是 spec 从根上整个没得救,连会设计语言的人士都不觉得魔改的必要,那就真寄了。

当然不是说水平高见识多的屁股就一定正确,也可能一堆私货;比如 Robert Harper ( cf. github.com/JuliaLang/julia/issues/6113https://github.com/FrankHB/pl-docs/blob/master/zh-CN/typing-vs-typechecking.md )。
大部分用户在这种层次的问题上,仍然逃离不了被大手子当放大观点的工具人使的命运。
独立思考是不可能独立思考的,这辈子大约都不行了。

现状就这样,不是照顾外行,golang 不值单独拎出来一提。其实这种 dssq 很多领域到处都是,也犯不着对某种语言的流行特别少见多怪了。这是我说无聊的另一个原因。
@LotusChuan OP 的问题虽然比较无聊,不过你这么一回倒是显得有澄清的价值了。
简而言之,因为大部分职业菜鸡只是停留到 PM 喂什么就吃什么的入门阶段,学习成本平摊了,感知不强。
如果要突击学几十个语言,有本事学得会的正常人都会觉得里面的大部分都是什么歪瓜裂枣,学来学去顶用的就那么点东西,时间精力大部分浪费在适应设计者奇怪癖好的 mdzz 上了。(就算这部分开销没整个项目大,无效劳动比例高到发指,加起来绝对不小。)
——别急着考虑这种情况不存在。有选型任务的技术管理多少会面临这种问题。另外职业年限多到被迫全栈和需要带小弟的也有类似的困难。
跟架构不同的是架构的氵比较深的地方基本全是跟具体业务紧耦合的,所以会流行的东西反而不会那么多 nc 粉乱 bb ,知道雷点绕着走相对容易,不像语言不花够时间还被 nc 粉嘲讽没学会。而且搞架构一般不需要带人,培训值得讲的东西基本都有专门的讲师,破事少。
2 天前
回复了 hostname 创建的主题 云计算 腾讯云太坑了,随意封机不给证据
常规操作罢。
我被“涉嫌诈骗”永久冻结 QQ (搞笑,你要借口色图码不够,还可能得自肃一下),走完客服机器人流程投诉通信管理局,见识到传说中的鹅厂人工客服,一口广普“国家主管机关通报封号”只能“临时解封”,死活不说哪诈骗啥机关,就“警方”。呵呵哒,警方怕吃我诉讼要你鹅护着?
“临时”一年多,至今不知这 KPI 便宜什么机关了。
2 天前
回复了 feirisu 创建的主题 程序员 域名在国内部分区域被墙有遇到过的吗?
@id7368 我遇到过唯独某个包邮区解析到 127.0.0.1 的结果测速延迟最低的……

……所以到底什么样的基准会偷懒直接 127.0.0.1 呢?
2 天前
回复了 feirisu 创建的主题 程序员 域名在国内部分区域被墙有遇到过的吗?
就算不考虑某自治区,也显然有相当一部分是区域自治的。
比如各种矿池很长一段时间各地封的毫不同步,就是现在封的方法也有地域性。
@cnbatch 破案了。
TL;DR:
我一开始没注意到就有 cdefs.h 里本来就有__containerof ,就是 drm2 这代码没有用。
你要是有看到了,早提一下,就不会那么多问题了。

详细讨论更新在上面的 gist 里。
@chbatch 不污染内核树不等于要 vendored ,你这还不是官方源里了嘛……至少原则上不保证不重复的大坨通用代码就不适合原样放 in-tree 的具体业务模块里。
而且看这文件里就远不只 container_of ,逻辑上不适合放这的代码数量就多得离谱。既然都__FBSDID("$FreeBSD$")了,显然不是照搬的;更何况文件名看就是给 FreeBSD 特供的,还这么一整套,看着就像复制粘贴以后懒得维护一样,味儿太冲了。

Clang 也支持 GNU 扩展还当卖点。不过({})这种一旦引入就难以排除,大约因为比 C++ lambda 鸡肋,还有 Clang block 之类的竞品,所以难以标准化,有洁癖也不奇怪。

“转换成左值引用”是很传统的用法,虽然能转换为左值引用的操作数通常就是个左值而不再怎么强调是左值引用。
真“转换”,也就定义个 operator T&。
单个&在 C++11 后能用 ref-qualifier 和 lambda-capture 里,之前没这语法。之前有的倒不需要关心变化。

(铜币不够,剩下的隔天再说。)
6 天前
回复了 wsseo 创建的主题 Linux deepin 要做根系统
@wwwbailintv 看到提到 NixOS 就顺带提一下:我倒是觉得除了使用 Nix 、Guix 这样的少数例外,在软件分发这样的核心机制有无法解决的硬伤的情况下,推广 Linux 发行版的典型“生态”整体上多成功,都挺像骗外行的——至少是在引导用户需求上。(当然,“有的地方不像 Windows 那么烂”这个不算骗。)

有些是无能,有些就未必了。

比如 pacman 的一些维护者 /开发者坚称 git shallow clone 就不该被 makepkg 支持,用的是跟项目目标无关的“哲学”理由,居然就没见到几个用户会去反驳的。这就可以算是一种愚弄外行。
后果么……虽然这和 pacman 现在是不是比大多数友商竞品好用是两回事,不过这至少决定 pacman 相关的东西将会在很长一段时间内仍然不会比本来应能有的程度更好用。因为 Arch 的体量问题导致这种层次上的 fork 的维护天然困难性,某种意义上这种决策就算是在打所有鼓吹 Arch 大法好的用户的脸了。

这类现状对磨灭非外行的兴致上效果更加显著,所以比某些厂商营销话术“骗外行”或者批量替换(当然,前提是遵循许可证)的行为本身更让我觉得残念。
6 天前
回复了 wsseo 创建的主题 Linux deepin 要做根系统
@12101111 ……apt source wine 没么?
GNU/Linux 还就是指 GNU 依赖,你现在全出清掉 GNU 的东西还就不算 GNU/Linux 了(也就 ABI 算 GNU 当上游,但这个算 compat ,否则 clang 兼容 gcc 也得算 GNU 了)。
至于 UOS……至少我是没听说过干掉 GCC 和 coreutils 扶 LLVM 之类上位的消息。不过同样也没有任何一个社区发行版这么做,会提供 Linux 发行版的商业实体里正大光明这么做的也就一个 Google ,本来就算是特例(况且对消费者来讲理由和结果也没正常到哪去)。
另外这方面图里确实有个不准确的地方:Debian 还真不完全依赖 Linux ,好歹是有过正儿八斤的 FreeBSD 的。(即便如此 GNU/kFreeBSD ,GNU 比 Linux 还难甩掉。)
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2029 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 12ms · UTC 01:42 · PVG 09:42 · LAX 18:42 · JFK 21:42
Developed with CodeLauncher
♥ Do have faith in what you're doing.