但数据只是起点。当地基打好之后,真正的竞争才刚刚开始——谁来占领模型层,谁来赢得企业端的钱包份额。
I learned that, when optimizing Clojure code, “no reflection warnings” is not always the end of the story. When you pass low-level primitives through higher-order interfaces, you may accidentally force the runtime back onto generic (and slower) paths. The compiler needs enough information to emit primitive bytecode.
,详情可参考快连下载安装
Code Generation
Opens in a new window
开发者信心当 iOS 和 Android 已经滚到百万级应用规模时,Windows Phone 还在苦苦劝说开发者「请为我们适配一个版本」。用户少,所以开发者不来;开发者不来,所以用户更少。这是一个几乎无解的死循环。