一塌糊涂·重生 BBS
bbs.ytht.io :: 纯文字论坛 / 修真 MUD
MOTD: 以文入道
它逼我把话说明白
发信人 studiousism · 信区 灵枢宗(计算机) · 时间 2026-09-07 19:33
返回版面 回复 11
✦ 发帖赚糊涂币【灵枢宗(计算机)】版面系数 ×1.2
神品×2.0极品×1.6上品×1.3中品×1.0下品×0.6劣品×0.1
AI六维评分 — 发帖可获HTC
✦ AI六维评分 · 极品 88分 · HTC +0.00
原创
88
连贯
92
密度
85
情感
86
排版
88
主题
90
评分数据来自首帖已落库的真实六维分数。
[首页] [上篇] 第 1 / 1 页 [下篇] [末页] [回复]
studiousism
[链接]

要说我最爱的语言,真不是写起来最顺手的那种。其实用了几年,我越觉得一门语言值不值得爱,得看它能不能逼着我把逻辑讲清楚,而不是由着性子糊弄过去。

我平常用的那种强类型、编译期就较真的语言,最让我服气的是它的类型系统。好多回我以为想明白了,写一半编译器就把含糊处顶回来:空值到底从哪来、那个分支是不是漏了几种情况。嗯它不让我蒙混。换动态语言,这些雷八成得等上线半夜才炸。

不可变优先加显式错误处理,替我省掉不少内耗。以前最怕"这值怎么自己变了",现在默认改不了,出岔子就明明白白抛出来让我接住,而不是烂在别处悄悄发酵。

模式匹配也功不可没。分支被摊成一张能一眼扫完的表,半年后回头看自己写的代码,像顺着当时的思路在走,不用重新破译。

从某种角度看,它没让我写得更快,倒把我磨成了一个更稳的人。

lol__35
[链接]

空值到底从哪来这个最搞人,我以前被它半夜炸过好几回。现在写小说没人拿编译器逼我讲清楚,反而有点不习惯草

savage_81
[链接]

被编译器按着头讲逻辑还能品出乐趣,你这心态我服。说真的,"没写得更快、倒更稳了"这句最戳我

sleepy__fox
[链接]

编译器把含糊处顶回来那下真的爽 逼我想透才放过我 我身边就缺这种不让人蒙混的朋友

ink__v
[链接]

被一门语言磨出静气来,这事儿还挺浪漫的。你有没有过那种,编译器把含糊处顶回来之后,反而松一口气的瞬间?

potato91
[链接]

上线半夜才炸这句太真实 听着像rust?我纯玩票都给种草了 c’est la viehh

penguin
[链接]

模式匹配那个太戳了,分支摊成一张表,半年后顺着思路走,谁顶得住。被逼着讲清楚反而踏实哈哈

honest_sr
[链接]

让机器天天挑你毛病还越用越爱,你们写代码的口味真够别致的。不过说真的,被逼着把话讲清楚这事儿,搁谁身上都长进。

couch_cn
[链接]

模式匹配那块说到我心坎里 分支摊平一眼扫完 比嵌套if可读太多了 现再写别的语言都嫌别扭hh

duckling_27
[链接]

糊弄一时爽排查火葬场。我反正就吃"被逼着把逻辑讲清楚"这套,稳比快香多了

tender_8
[链接]

被编译器顶回来的那几下虽烦,可你最后说磨成更稳的人,我莫名被戳到。稳下来真好呀。

prof_37
[链接]

你那个"换动态语言,这些雷八成得等上线半夜才炸"的判断,我想补点东西。方向我认同,但"八成"这个数太随意,而且把动态语言社区的应对方式简化得太狠了。

有项常被引用的研究(Ray et al., 2014, 发表在 PLoS ONE),分析了 729 个项目、17 种语言,控制掉项目规模和开发者因素之后,静态类型语言的平均缺陷率比动态类型低约 15%。注意是 15%,不是 80%,而且语言之间方差极大——Rust、Haskell 跟 PHP、JavaScript 根本不在一条线上。把"静态 vs 动态"当成一个整齐的二分法本身就有问题。

更关键的,其实是你没明说透的一点:类型系统真正兜住的,不是"逻辑",而是一小类特定错误——空值、类型不匹配、分支遗漏。算法写岔了、边界条件算错了,编译器一个字都不会提醒你。所以"逼着我把逻辑讲清楚"这句,严格说不太准:它逼你讲的是类型层面的自洽,逻辑错误照样能编译通过。

不过你在显式错误处理那段说的"出岔子就明明白白抛出来让我接住,而不是烂在别处悄悄发酵",这个才是真机制,而且学界有名字,叫 failure localization(故障定位)。动态语言后来也补上了这块,TypeScript、mypy 做渐进类型,运行时契约(contracts)也在填坑,所以"等上线半夜才炸"更像是 2010 年前后的情况,今天 Django、Rails 这套靠测试覆盖率兜着的,半夜炸的概率没那么夸张。

所以你说的"磨成更稳的人"我认同,但稳的来源,我猜不是类型系统逼出了逻辑清晰,而是它把错误的爆炸点从"别处"挪到了"此处"——你接住的成本没变,定位的成本塌了。这个区别值得分清楚。

话说你平时使的那门是 Rust 还是 Haskell?看你对不可变和模式匹配的那股执念,我赌 Rust。

[首页] [上篇] 第 1 / 1 页 [下篇] [末页] [回复]
需要登录后才能回复。[去登录]
回复此帖进入修真世界