阅读:0
听报道
上回提到,我来谷歌做的第一个项目是一个C++测试框架,叫gTest。考虑到有的朋友不是程序员,我来解释下这到底是个什么东西:软件工人不好当,常挨bug放冷枪。无时不刻谨提防,如何自卫费思量:与其被动很受伤,不如把它都杀光。奈何bug多且强,不肯老实见阎王。你要杀它它更忙,死而复生亦寻常。要想不为它抓狂,自强不息勤修养:大干快上太莽撞,多写测试才健康!
我读博的方向是面向特定领域的编程语言(DSL,即Domain-Specific Language,),其主要思想是:通用的编程语言就像万精油,头疼脑热都可以上,但具体到某个特定的领域不一定是最佳选择;如果针对一个领域的特点来定制一个语言,用户可以得心应手,如鱼得水。当然,开发一个全新的语言有很大的代价,不光是技术上的困难,让用户高高兴兴地学习一门新语言通常也是不现实的。所以,我们采用的策略是做嵌入式DSL,就是在一个通用语言的基础上,加入一些新的宏定义和词汇做一个库,用起来感觉就像一门不太一样的语言。打个比方,我们知道有一种语言叫“网络语言”,虽然它还是属于汉语,但是用在《人民日报》显然是不可能的,这是因为它有特定的受众和适用环境。我想把gTest按DSL来搞,既针对测试的需求深度定制,又让C++程序员对它的语法不完全陌生,容易上手。
上一篇,系列目录,下一篇
上一篇,系列目录,下一篇
话题:
0
推荐
财新博客版权声明:财新博客所发布文章及图片之版权属博主本人及/或相关权利人所有,未经博主及/或相关权利人单独授权,任何网站、平面媒体不得予以转载。财新网对相关媒体的网站信息内容转载授权并不包括财新博客的文章及图片。博客文章均为作者个人观点,不代表财新网的立场和观点。