编程概念与语言特性
编程概念删除计算结果不被使用或永远不会执行的代码的编译优化,可缩小体积并提升性能。
编程概念表达式延迟到真正需要结果时才计算的求值策略,Haskell 是其代表实践。
编程概念函数式编程中封装计算上下文并支持顺序组合的抽象结构,Haskell 用它建模 I/O 等副作用。
编程概念ES6 规范要求的尾位置函数调用复用栈帧机制,可让尾递归不爆栈,但实际仅 Safari 的 JSC 引擎实现。
编程概念JavaScript 在运算中自动转换值类型的机制,== 的隐式转换规则复杂,是语言最著名的陷阱来源之一。
编程概念用于粘合与调度既有组件、程序和库的语言,Python、Perl、Lua 等脚本语言的经典定位。
编程概念以数据库事务方式管理共享内存并发的机制,原子块可组合,Haskell 与 Clojure 提供成熟实现。
编程概念把控制流与数据流统一为一张图的编译器 IR 设计,由 Cliff Click 提出,用于 HotSpot C2 与 V8。
编程概念把控制流显式化为延续参数传递的编程与编译技术,函数不返回而是调用延续交出结果。
编程概念把函数调用替换为函数体本身的编译优化,消除调用开销并为后续优化打开视野。
编程概念用随时间变化的信号与事件流建模交互系统的编程范式,由 Conal Elliott 等提出,影响 Rx 与前端框架。
编程概念在调用点缓存最近一次方法查找结果的动态语言加速技术,源于 Smalltalk,是 V8 等引擎的基石。
编程概念把并发的相同请求合并为一次执行、结果共享给所有等待者的编程模式,是抑制缓存击穿的标准手段。
编程概念每个变量只被赋值一次的中间表示形式,现代编译器优化的基石,由 phi 函数处理汇合点。
程序本身以语言内建数据结构表示的性质,Lisp 的代码即数据特征,使宏与元编程极为自然。
编程概念位于请求与业务处理之间的可插拔处理层,以洋葱模型串联日志、鉴权、限流等横切逻辑,是现代 Web 框架的通用抽象。
编程概念下游处理不过来时向上游反馈以减缓数据发送的流量控制机制,是流处理与响应式系统的核心概念。
编程概念动态语言的类型哲学:不看对象的类型声明,只看它是否具备所需的方法与行为。
编程概念用环形槽数组按到期时间散列定时任务的结构,把海量定时器的插入删除做到 O(1)。
编程概念用类型系统区分可空与非空引用、在编译期消灭空指针异常的语言机制。