「学习一门新的编程语言」是每个程序员都必然会面对的一个课题(注:本文特指工程实践中常用的高级编程语言)。自从高一开始编程到现在,我也接触了不少的编程语言,有的语言已经能在工作中得心应手的使用;有的语言用的不多,但大概了解其设计,也能在官方文档的帮助下简单使用;还有的则之前很了解,但很长时间没有使用过了。

换一份新的工作是最有机会让程序员接触到新的东西的,最近我就应工作需求开始接触一门新的编程语言,学习过程中难免会和已经熟悉的编程语言进行对比,然后发现其实编程语言的学习完全是有「套路」可循的,这篇博客试图总结一下这种「套路」。

阅读全文 »

Shared mutable state is the root of all evil
共享的可变状态是万恶之源

Pete Hunt

大概是从去年年底开始,我开始断断续续地了解 Erlang 这门语言。之所以会想要去学习它,是因为它跟我已经比较熟悉的任何一门语言都有着截然不同的设计理念,而且我了解得越深,就越为其设计思想所折服。

虽然这门语言的年纪早已不算年轻,而且似乎从未「大众流行」过,但在如今 CPU 多核化和云计算的时代背景下,Erlang 却焕发出了不一样的生机。

阅读全文 »

最近趁着离职的一点空隙,稍微能有些时间和心情来思考一些更有深度和更长远的问题,这篇文章的内容算是我近期开的小小脑洞之一。

越来越发现,前人总结的一些众所周知并经过时间验证过的关于写代码的道理,只要我们换个角度来类比和思考,同样可以适用于我们人生历程的一些方面。这篇文章就是我想到的一些例子,小标题都是写代码时所谓的一些「金科玉律」,而我会试图通过这些相通的「规律」,衍生出个人对人生某个方面的思考,可能小到微不足道的个人习惯,大到能够决定人生方向的人生观。

阅读全文 »

随着 Node 新版本开始支持 async/await 异步控制写法,Koa 也相继发布了它的 2.0 版本。用 async/await 写法的 Koa 来开发项目,Node 开发者再也没有任何理由不「拥抱变化」——从 Express 转到 Koa 上来。实际上,对于普通 Node 开发者——Express 框架的用户——而言,从 Express 转到 Koa 没有任何技术壁垒,当然前提是你至少得知道 ES2017 中 async/await 是个什么东西。

图片显示错误
阅读全文 »