这个时代的程序员是幸福的,因为有无数优秀的免费的工具、无数的优秀的开源的软件包为我们的工作提供便利; 这个时代的程序员也是痛苦的,因为选择太多,有时候让人无所适从。
网上常见的热门帖子常常是"N大最佳PHP IDE", "N大最流行的Java IDE"等, 看完帖子的内容和网友的回复后,往往还是难以做出选择。而自己最关心的某项功能的比较,在帖子中可能没有提到。更要命的是这些帖子和回复往往是几个月前甚至几年前的,而这中间,很多软件已经有更新,甚至有新的产品出现,帖子的某些内容已经过时了。
另一个程序员的困扰是开源包的选择,为了实现某一个功能(比如jQuery的星型投票插件),网上一搜,一不小心就搜出来20个以上的插件; 要找一个基于Django的CMS,随便一搜,又出来好多选择。然后,又是去读各种评论文章、浏览官方网站、比较github上的star数和最近更新日期等。 到头来往往还是免不了自己挑几个去安装实测以下,因为想起老师教过我们的小马过河的故事。
总而言之,选择太多对程序员来说经常是一个幸福的烦恼。那么有没有办法把实现某项功能的各种选择方案收集到一起,以最直观的表格/矩阵的方式来比较各项参数呢? 比如Python IDE, 有人关心是否收费、有人关心是否支持重构、有人关心是否支持Python 3等等。把这些参数都列到一个表格里,最好允许用户参与编辑(类似wikipedia),这样能保证信息的时效性和数据采集的广泛性。当然,最好能加上投票和评论功能,这样根据大部分用户的推荐,读者就能从多个选择方案中选择出最适合自己的方案,减少调研和尝试的时间。
VSMatrix (www.vsmatrix.info)就是为解决这些问题而产生的一个网站,帮助广大的程序员在众多的工具和开源包中,选择到最适合自己的方案。VSMatrix网站是一个开放的平台,用户可以创建/编辑针对某个功能的矩阵(Matrix), 矩阵的每一行是一个解决方案(如某IDE或者某开源包),而矩阵的每一列是一个参数(如支持的平台、最近更新时间、支持语言的版本号等);
矩阵的创建者可以把矩阵的某列的属性设置为普通文本或者可投票。用户可以参与编辑矩阵的任何内容,但是所有编辑的内容都以备选的方式接受用户投票,得票最多的内容才会显示到矩阵中。这样就避免的因为个人的偏见或者恶意的灌水造成的内容不准确的情况。同时网站采用disqus系统评论,网友可以自由交流自己的使用心得。