fp

C++17整装待发

本文有 13693 字,大约需要 34 分钟可以读完, 创建于 2017-10-04

9月份对于C++社区而言绝对是个令人振奋的收获季节。

Excessive null checks in Java Defensive Programming?

本文有 7218 字,大约需要 18 分钟可以读完, 创建于 2017-06-27

最近在参与某开发小组的团体代码审查会的时候,发现组内的一线开发工程师对于何时应该做空指针检查并没有很清晰的认识;然而这在Java社区里早已经是个老生常谈的争论 。

Kotlin语言之变量约束设计

本文有 5309 字,大约需要 13 分钟可以读完, 创建于 2017-06-05

可变状态的泛滥往往被认为是软件维护灾难的元凶之一,尤其是当过程封装遇上多线程,普通的面向对象编程技巧完全不堪大用,因为继承/封装/多态等手法针对的都是程序组织上的处理措施,具体到底层实现上,传统的C/C++/JAVA依然依赖过程式实现跟操作系统打交道。

Kotlin语言之函数式编程

本文有 4884 字,大约需要 12 分钟可以读完, 创建于 2017-06-04

Kotlin语言是大名鼎鼎的JetBrains公司(就是可以甩Eclipse数条大街的IntelliJ IDEA背后的公司)出品的现代的编程语言,之前已经在IDEA中蹦达出来很多次了;只是最近随着Google在其2017年的I/O大会上将其列为Android平台官方支持的语言而窜上了热点。

Java8中的函数式编程

本文有 15553 字,大约需要 38 分钟可以读完, 创建于 2016-10-14

Java8是日益臃肿、略显老态的老牌程序语言对日益流行的新的函数式编程范式的反击; 它采用了巧妙的技术让自己面向对象的古老躯体也套上了函数式编程的舞鞋再度翩翩起舞,焕发新的光彩。

用C++11/14实现一个现代的异步服务调度库

本文有 7156 字,大约需要 17 分钟可以读完, 创建于 2015-12-19

很多C++项目中都存在一个能够异步调度任务的基础库;大部分这样的库都是用老的C++语言(98/03)写成的,要么模板元语法满天飞外加各种黑魔法导致维护困难, 要么是采用传统的宏方式导致维护困难,布满各种隐患。既然C++11/C++14提供了更好用的武器,我也耐不住手痒自己实现一个。

lazy evaluation in Ruby&Haskell

本文有 5978 字,大约需要 14 分钟可以读完, 创建于 2012-03-06

lazy evaluation 是函数式编程中的一个重要概念,和传统过程式语言中的cache/state变量恰恰相对;其对应的数值/运算仅仅在用到的时候才实际运算,如果没有调用就什么也不会做。对于构造起来比较昂贵的对象,lazy evaluation可以有效避免cache带来的额外开销,因为只要需要的部分运算被执...