技术的极限(2): 概念应该基于事实
上一篇: 技术的极限(1): 从编程开始
下一篇: 技术的极限(3): 像科学家一样思考
目录
** 0x01 Deep into free store & stack
** 0x02 Choosing a Name for Your Computer
** 0x03 科学研究上的涡流和创新
** 0x04 Case by Case文案套路
** 0x05 Factfullness
** 0x06 JavaScript的超集语言(super language)
0x01 Deep into free store & stack
Q:请教一下 想深入理解一下c++书上提到的free store或者stack等等这些概念 看什么书补充?在看stroutrup的 programming practice and principles.
A:继续完整吃透那本书,完了的话,啃下下面两本,中间你可以搜索一些关键字,找一些别人写的文章印证,有不明白的地方,自己多写代码验证。
0x02 Choosing a Name for Your Computer
原文: Choosing a Name for Your Computer
RFC1178这篇指南讨论了如何给一台电脑命名,包括了一些不好的命名和一些好的命名条目,并分别阐释了理由,是一个不错的指南。
要点1,应该避免的做法::
- Don't overload other terms already in common use.
- Don't choose a name after a project unique to that machine.
- Don't use your own name.
- Don't use long names.
- Avoid alternate spellings.
- Avoid domain names.
- Avoid domain-like names.
- Don't use antagonistic or otherwise embarrassing names.
- Don't use digits at the beginning of the name.
- Don't use non-alphanumeric characters in a name.
- Don't expect case to be preserved.
要点2,建议的做法::
- Use words/names that are rarely used.
- Use theme names.
- Use real words.
- Don't worry about reusing someone else's hostname.
摘要:
"Most people don't have the opportunity to name more than one or two computers, while site administrators name large numbers of them. By choosing a name wisely, both user and administrator will have an easier time of remembering, discussing and typing the names of their computers."
0x03 科学研究上的涡流和创新
原文:学术“创新”的湍流现象
“学术‘创新’的湍流现象的基本定义是:由于研究者多(管流速度很大),研究时间长(圆管长度很大),导致在某个时期(圆管的某个下游位置)出现毫无实质性研究进展的停止现象(出现湍流的阻流现象),而且,在近期及当前(有时,局部学术团体)进一步出现在学术上的倒退现象(湍流区可能出现沿管壁的回流现象)。”
作者总结了对科研上的创新的理解:
- 总之,共识化原则,不能用于评价“创新”;违反共识,并不是真“创新”。
- 违反共式(否定已有的学术本质成就)+无法包容多数实验(就几个实验而立论)=假创新。
- 本质上的创新(吸纳和消化共识的本质)+形式上的违反共识(重新解释相关多数实验)=真创新。
0x04 Case by Case文案套路
原文:What Makes a Great Extension?
这篇文章的结构是一个常见的文案模板,如何表述一个产品拥有哪些特性,并吸引用户来使用呢?文章的结构通过祈使句,层层表述核心Feature,最后一个祈使句自然过渡到让用户立刻行动起来,画龙点睛。是一个很好的示例。
文章结构如下:
introduction
...
Make It Dynamic
....
Make It Fun
...
Make It Functional
...
Make It Firefox
...
Make It Clear
...
Make It Fresh
...
Submit Your Extension Today
...
0x05 Factfullness
原文: Factfulness, Factfulness单章.PDF
刚读了《Factfulness》这本书的一章,感觉很有意思。作者首先通过提问“不同国家儿童出生率”的方式让学生们展示他们大脑中对于“发展中国家”和“发达国家”的固化概念,接着作者使用了统计数据来挑战学生们的认知。
学生们又提出可以使用“每个家庭拥有的儿童数量不多,并且整体存活率高”来区分“发达国家”与“发展中国家”。到这里,作者认为时机成熟,先展示了一个泡泡统计数据,“极大的支撑了学生的观点”,确实发展中国家每个家庭儿童数量更多,整体存活率低于95%,例如中国和印度;而发达国家则每个家庭儿童数量少,整体存活率高于90%,例如美国。两个集合之间有明显的间隙。
但是,紧接着发生转折,这个统计数据是1965年的,而实际上现在的统计数据显示,大部分国家都位于“每个家庭拥有的儿童数量少,整体存活率高于90%“的区域,只有少数国家位于“每个家庭儿童数量更多,整体存活率低于95%”的区域,以及少数国家更好。
因此,作者认为记者、政治家、教师等等都还在使用“发展中国家/发达国家”,以及“东方/西方”,“我们/你们”等二元对立的区分概念是不对的,实际上在很多领域,大部分国家都处于中间位置,在两端的都是少数。
这本书看上去挺有意思,还有其他9个作者认为是错误理解世界的固化观念。从这个方式上看,统计数据可以更好的帮助人们理解与事实相悖的思维定势。
0x06 JavaScript的超集语言(super language)
能编译生成JavaScript的上层语言很多,例如TypeScript, Flow, Reason, PureScript, Elm等等,它们都有Union Type,但是这些语言的Union Type编译成JavaScript之后,其实是各不相同的,这就是:抽象泄漏的问题。这篇文章对比了上述几种不同语言下使用Union Type的代码,以及它们编译成的JavaScript代码的异同。
用JavaScript的super language写代码,久了之后,会存在无法直接把高层代码在大脑里映射成JavaScript语言的问题。这是一个中性的描述,不好也不坏,毕竟我们用C写代码,也不可能直接能想象生成的汇编语言是长什么样子的,实际上也没必要,只要理解大致原理即可。
但是,JavaScript原生在浏览器上支持,实际上这个语言代表的是浏览器平台,并没有办法像汇编或者更低阶的WebAssembly那样直接不管。
-end-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix